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

#include <amorph.h>

Inheritance diagram for wibble::Amorph< Self, _Interface, Padding >:
Inheritance graph
[legend]

Classes

struct  Convert
 

Public Types

typedef _Interface Interface
 

Public Member Functions

 Amorph (const MorphInterface< Interface > &b)
 
 Amorph (const Amorph &a)
 
 Amorph ()
 
const Selfself () const
 
Selfself ()
 
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

◆ Interface

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

Constructor & Destructor Documentation

◆ Amorph() [1/3]

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

◆ Amorph() [2/3]

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

◆ Amorph() [3/3]

template<typename Self , typename _Interface , int Padding = WIBBLE_AMORPH_PADDING>
wibble::Amorph< Self, _Interface, Padding >::Amorph ( )
inline

◆ ~Amorph()

template<typename Self , typename _Interface , int Padding = WIBBLE_AMORPH_PADDING>
wibble::Amorph< Self, _Interface, Padding >::~Amorph ( )
inline

Member Function Documentation

◆ ifType()

template<typename Self , typename _Interface , int Padding = WIBBLE_AMORPH_PADDING>
template<typename F >
Maybe< typename F::result_type > wibble::Amorph< Self, _Interface, Padding >::ifType ( F  func)
inline

◆ impl()

template<typename Self , typename _Interface , int Padding = WIBBLE_AMORPH_PADDING>
template<typename T >
T * wibble::Amorph< Self, _Interface, Padding >::impl ( ) const
inline

◆ implementation() [1/2]

template<typename Self , typename _Interface , int Padding = WIBBLE_AMORPH_PADDING>
Interface * wibble::Amorph< Self, _Interface, Padding >::implementation ( )
inline

◆ implementation() [2/2]

template<typename Self , typename _Interface , int Padding = WIBBLE_AMORPH_PADDING>
const Interface * wibble::Amorph< Self, _Interface, Padding >::implementation ( ) const
inline

◆ is()

template<typename Self , typename _Interface , int Padding = WIBBLE_AMORPH_PADDING>
template<typename T >
bool wibble::Amorph< Self, _Interface, Padding >::is ( ) const
inline

◆ isVoid()

template<typename Self , typename _Interface , int Padding = WIBBLE_AMORPH_PADDING>
bool wibble::Amorph< Self, _Interface, Padding >::isVoid ( ) const
inline

◆ leq()

template<typename Self , typename _Interface , int Padding = WIBBLE_AMORPH_PADDING>
bool wibble::Amorph< Self, _Interface, Padding >::leq ( const Self i) const
inline

◆ morphInterface()

template<typename Self , typename _Interface , int Padding = WIBBLE_AMORPH_PADDING>
MorphInterface< Interface > * wibble::Amorph< Self, _Interface, Padding >::morphInterface ( ) const
inline

◆ operator<=()

template<typename Self , typename _Interface , int Padding = WIBBLE_AMORPH_PADDING>
bool wibble::Amorph< Self, _Interface, Padding >::operator<= ( const Self i) const
inline

◆ operator=()

template<typename Self , typename _Interface , int Padding = WIBBLE_AMORPH_PADDING>
Amorph & wibble::Amorph< Self, _Interface, Padding >::operator= ( const Amorph< Self, _Interface, Padding > &  i)
inline

◆ self() [1/2]

template<typename Self , typename _Interface , int Padding = WIBBLE_AMORPH_PADDING>
Self & wibble::Amorph< Self, _Interface, Padding >::self ( )
inline

◆ self() [2/2]

template<typename Self , typename _Interface , int Padding = WIBBLE_AMORPH_PADDING>
const Self & wibble::Amorph< Self, _Interface, Padding >::self ( ) const
inline

◆ setInterfacePointer()

template<typename Self , typename _Interface , int Padding = WIBBLE_AMORPH_PADDING>
void wibble::Amorph< Self, _Interface, Padding >::setInterfacePointer ( const Interface i)
inline

◆ setMorphInterfacePointer()

template<typename Self , typename _Interface , int Padding = WIBBLE_AMORPH_PADDING>
void wibble::Amorph< Self, _Interface, Padding >::setMorphInterfacePointer ( const MorphInterface< Interface > *  i)
inline

◆ wrapped() [1/2]

template<typename Self , typename _Interface , int Padding = WIBBLE_AMORPH_PADDING>
Interface & wibble::Amorph< Self, _Interface, Padding >::wrapped ( )
inline

◆ wrapped() [2/2]

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

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