stlab.adobe.com Adobe Systems Incorporated

poly_base< I, Instance > Struct Template Reference
[Poly Library]

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_baseassign (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_typeinterface_ref ()
const interface_typeinterface_ref () const
template<typename J >
bool is_dynamic_convertible_to () const
const interface_typeoperator-> () const
interface_typeoperator-> ()
poly_baseoperator= (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

typedef I interface_type

Definition at line 258 of file poly.hpp.


Constructor & Destructor Documentation

poly_base ( x,
typename boost::disable_if< boost::is_base_of< poly_base< I, Instance >, T > >::type *  = 0 
) [explicit]

Definition at line 263 of file poly.hpp.

poly_base ( const poly_base< J, K > &  x,
typename boost::enable_if< is_base_derived_or_same< I, J > >::type *  dummy = 0 
) [explicit]

Definition at line 269 of file poly.hpp.

poly_base ( const poly_base< I, Instance > &  x )

Definition at line 277 of file poly.hpp.

poly_base ( move_from< poly_base< I, Instance > >  x )

Definition at line 279 of file poly.hpp.

~poly_base (  )

Definition at line 306 of file poly.hpp.


Member Function Documentation

poly_base& assign ( const T &  x )

Definition at line 345 of file poly.hpp.

boost::enable_if<is_base_derived_or_same<I, J> >::type assign ( const poly_base< J, K > &  x )

Definition at line 360 of file poly.hpp.

const T& cast (  ) const

Definition at line 323 of file poly.hpp.

T& cast (  )

Definition at line 330 of file poly.hpp.

bool cast ( T &  x ) const

Definition at line 337 of file poly.hpp.

interface_type& interface_ref (  )

Definition at line 374 of file poly.hpp.

const interface_type& interface_ref (  ) const

Definition at line 377 of file poly.hpp.

static bool is_dynamic_convertible_from ( const poly_base< J, K > &  x ) [static]

Definition at line 309 of file poly.hpp.

bool is_dynamic_convertible_to (  ) const

Definition at line 315 of file poly.hpp.

const interface_type* operator-> (  ) const

Definition at line 368 of file poly.hpp.

interface_type* operator-> (  )

Definition at line 371 of file poly.hpp.

poly_base& operator= ( poly_base< I, Instance >  x )

Definition at line 300 of file poly.hpp.

void* storage (  )

Definition at line 380 of file poly.hpp.

const void* storage (  ) const

Definition at line 381 of file poly.hpp.

const std::type_info& type_info (  ) const

Definition at line 320 of file poly.hpp.


Friends And Related Function Documentation

friend struct poly_base [friend]

Definition at line 256 of file poly.hpp.

void swap ( poly_base< I, Instance > &  x,
poly_base< I, Instance > &  y 
) [friend]

Definition at line 281 of file poly.hpp.


Member Data Documentation

implementation::storage_t data_m

Definition at line 383 of file poly.hpp.

Copyright © 2006-2007 Adobe Systems Incorporated.

Use of this website signifies your agreement to the Terms of Use and Online Privacy Policy.

Search powered by Google