stlab.adobe.com Adobe Systems Incorporated

#include <poly.hpp>

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 >
const T & cast () const
 
template<typename T >
T & cast ()
 
template<typename T >
bool cast (T &x) 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)
 
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)
 
 poly_base (const poly_base &x)
 
 poly_base (move_from< poly_base > x)
 
void * storage ()
 
const void * storage () const
 
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

template<typename T , template< typename > class U>
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 259 of file poly.hpp.

Member Typedef Documentation

typedef I interface_type

Definition at line 264 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 269 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 275 of file poly.hpp.

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

Definition at line 283 of file poly.hpp.

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

Definition at line 285 of file poly.hpp.

~poly_base ( )

Definition at line 312 of file poly.hpp.

Member Function Documentation

poly_base& assign ( const T &  x)

Definition at line 352 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 367 of file poly.hpp.

const T& cast ( ) const

Definition at line 329 of file poly.hpp.

T& cast ( )

Definition at line 336 of file poly.hpp.

bool cast ( T &  x) const

Definition at line 343 of file poly.hpp.

interface_type& interface_ref ( )

Definition at line 382 of file poly.hpp.

const interface_type& interface_ref ( ) const

Definition at line 385 of file poly.hpp.

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

Definition at line 315 of file poly.hpp.

bool is_dynamic_convertible_to ( ) const

Definition at line 321 of file poly.hpp.

const interface_type* operator-> ( ) const

Definition at line 376 of file poly.hpp.

interface_type* operator-> ( )

Definition at line 379 of file poly.hpp.

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

Definition at line 306 of file poly.hpp.

void* storage ( )

Definition at line 388 of file poly.hpp.

const void* storage ( ) const

Definition at line 389 of file poly.hpp.

const std::type_info& type_info ( ) const

Definition at line 326 of file poly.hpp.

Friends And Related Function Documentation

friend struct poly_base
friend

Definition at line 262 of file poly.hpp.

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

Definition at line 287 of file poly.hpp.

Member Data Documentation

implementation::storage_t data_m

Definition at line 391 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