wibble  1.1
Classes | Public Types | Public Member Functions | List of all members
wibble::Amorph< Self, _Interface, Padding > Struct Template Reference

#include <amorph.h>

Classes

struct  Convert
 

Public Types

typedef _Interface Interface
 

Public Member Functions

 Amorph (const MorphInterface< Interface > &b)
 
 Amorph (const Amorph &a)
 
 Amorph ()
 
const Self & self () const
 
Self & self ()
 
bool leq (const Self &i) const
 
bool operator<= (const Self &i) const
 
void setInterfacePointer (const Interface *i)
 
void setMorphInterfacePointer (const MorphInterface< Interface > *i)
 
Amorphoperator= (const Amorph &i)
 
 ~Amorph ()
 
template<typename F >
Maybe< typename F::result_type > ifType (F func)
 
const Interfaceimplementation () const
 
Interfaceimplementation ()
 
MorphInterface< Interface > * morphInterface () const
 
const Interfacewrapped () const
 
Interfacewrapped ()
 
template<typename T >
bool is () const
 
bool isVoid () const
 
template<typename T >
T * impl () const
 

Member Typedef Documentation

template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
typedef _Interface wibble::Amorph< Self, _Interface, Padding >::Interface

Constructor & Destructor Documentation

template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
wibble::Amorph< Self, _Interface, Padding >::Amorph ( const MorphInterface< Interface > &  b)
inline
template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
wibble::Amorph< Self, _Interface, Padding >::Amorph ( const Amorph< Self, _Interface, Padding > &  a)
inline
template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
wibble::Amorph< Self, _Interface, Padding >::Amorph ( )
inline
template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
wibble::Amorph< Self, _Interface, Padding >::~Amorph ( )
inline

Member Function Documentation

template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
template<typename F >
Maybe< typename F::result_type > wibble::Amorph< Self, _Interface, Padding >::ifType ( func)
inline
template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
template<typename T >
T* wibble::Amorph< Self, _Interface, Padding >::impl ( ) const
inline
template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
const Interface* wibble::Amorph< Self, _Interface, Padding >::implementation ( ) const
inline
template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
Interface* wibble::Amorph< Self, _Interface, Padding >::implementation ( )
inline
template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
template<typename T >
bool wibble::Amorph< Self, _Interface, Padding >::is ( ) const
inline
template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
bool wibble::Amorph< Self, _Interface, Padding >::isVoid ( ) const
inline
template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
bool wibble::Amorph< Self, _Interface, Padding >::leq ( const Self &  i) const
inline
template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
MorphInterface< Interface >* wibble::Amorph< Self, _Interface, Padding >::morphInterface ( ) const
inline
template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
bool wibble::Amorph< Self, _Interface, Padding >::operator<= ( const Self &  i) const
inline
template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
Amorph& wibble::Amorph< Self, _Interface, Padding >::operator= ( const Amorph< Self, _Interface, Padding > &  i)
inline
template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
const Self& wibble::Amorph< Self, _Interface, Padding >::self ( ) const
inline
template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
Self& wibble::Amorph< Self, _Interface, Padding >::self ( )
inline
template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
void wibble::Amorph< Self, _Interface, Padding >::setInterfacePointer ( const Interface i)
inline
template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
void wibble::Amorph< Self, _Interface, Padding >::setMorphInterfacePointer ( const MorphInterface< Interface > *  i)
inline
template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
const Interface& wibble::Amorph< Self, _Interface, Padding >::wrapped ( ) const
inline
template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>
Interface& wibble::Amorph< Self, _Interface, Padding >::wrapped ( )
inline

The documentation for this struct was generated from the following file: