Authors of a Concept representative F, intended as a template parameter to adobe::poly, will inherit from adobe::poly_base. The first template parameter for adobe::poly_base provides the virtual interface for the concept representative. The second template parameter for adobe::poly_base must inherit from the Concept interface representative. The author's third duty is to provide forwarding functions in a their Concept representative. See the placeable_concept.hpp header file for details.
#include <poly.hpp>
List of all members.
Public Types |
| typedef I | interface_type |
Public Member Functions |
| template<typename T > |
| poly_base & | assign (const T &x) |
| template<typename J , template< typename > class K> |
boost::enable_if
< is_base_derived_or_same< I,
J > >::type | assign (const poly_base< J, K > &x) |
| template<typename T > |
| T & | cast () |
| template<typename T > |
| bool | cast (T &x) const |
| template<typename T > |
| const T & | cast () const |
| interface_type & | interface_ref () |
| const interface_type & | interface_ref () const |
| template<typename J > |
| bool | is_dynamic_convertible_to () const |
| const interface_type * | operator-> () const |
| interface_type * | operator-> () |
| poly_base & | operator= (poly_base x) |
| template<typename T > |
| | poly_base (T x, typename boost::disable_if< boost::is_base_of< poly_base, T > >::type *=0) |
| | poly_base (move_from< poly_base > x) |
| | poly_base (const poly_base &x) |
| template<typename J , template< typename > class K> |
| | poly_base (const poly_base< J, K > &x, typename boost::enable_if< is_base_derived_or_same< I, J > >::type *dummy=0) |
| const void * | storage () const |
| void * | storage () |
| const std::type_info & | type_info () const |
| | ~poly_base () |
Static Public Member Functions |
| template<typename J , template< typename > class K> |
| static bool | is_dynamic_convertible_from (const poly_base< J, K > &x) |
Public Attributes |
| implementation::storage_t | data_m |
Friends |
| struct | poly_base |
| void | swap (poly_base &x, poly_base &y) |
Detailed Description
template<typename I, template< typename > class Instance>
struct adobe::poly_base< I, Instance >
Definition at line 253 of file poly.hpp.
Member Typedef Documentation
Constructor & Destructor Documentation
| poly_base |
( |
T |
x, |
|
|
typename boost::disable_if< boost::is_base_of< poly_base< I, Instance >, T > >::type * |
= 0 |
|
) |
| [explicit] |
| poly_base |
( |
const poly_base< J, K > & |
x, |
|
|
typename boost::enable_if< is_base_derived_or_same< I, J > >::type * |
dummy = 0 |
|
) |
| [explicit] |
Member Function Documentation
| boost::enable_if<is_base_derived_or_same<I, J> >::type assign |
( |
const poly_base< J, K > & |
x ) |
|
| bool cast |
( |
T & |
x ) |
const |
| static bool is_dynamic_convertible_from |
( |
const poly_base< J, K > & |
x ) |
[static] |
| bool is_dynamic_convertible_to |
( |
) |
const |
| const void* storage |
( |
) |
const |
| const std::type_info& type_info |
( |
) |
const |
Friends And Related Function Documentation
Member Data Documentation
| implementation::storage_t data_m |