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)
Amorph & | operator= (const Amorph &i)
| ~Amorph ()
template<typename F >
Maybe< typename F::result_type > | ifType (F func)
const Interface * | implementation () const
Interface * | implementation ()
MorphInterface< Interface > * | morphInterface () const
const Interface & | wrapped () const
Interface & | wrapped ()
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>

const Interface* wibble::Amorph< Self, _Interface, Padding >::implementation | ( |  | ) | const

inline

Referenced by wibble::Amorph< Range< T >, RangeInterface< T > >::operator=().

## implementation() [2/2]

template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>

Interface* wibble::Amorph< Self, _Interface, Padding >::implementation | ( |  | ) |

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

Referenced by wibble::Amorph< Range< T >, RangeInterface< T > >::Amorph().

## 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>

const Self& wibble::Amorph< Self, _Interface, Padding >::self | ( |  | ) | const

inline

## self() [2/2]

template<typename Self, typename _Interface, int Padding = WIBBLE_AMORPH_PADDING>

Self& wibble::Amorph< Self, _Interface, Padding >::self | ( |  | ) |

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>

const Interface& wibble::Amorph< Self, _Interface, Padding >::wrapped | ( |  | ) | const

inline

## wrapped() [2/2]

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:

- amorph.h