CAPD RedHom Library
capd::homAux::UniversalVariable< TypeT > Class Template Reference

#include <capd/homAux/UniversalVariable.h>

Classes

struct  GetPtr
 

Public Types

typedef TypeT Type
 
typedef boost::variant< Type, boost::reference_wrapper< Type >, boost::shared_ptr< Type > > Storage
 

Public Member Functions

 UniversalVariable (const Type &var)
 
 UniversalVariable (Type &var, bool reference)
 
 UniversalVariable (Type *var, bool reference)
 
 UniversalVariable (boost::shared_ptr< Type > var)
 
Type const * operator-> () const
 
Typeoperator-> ()
 
Type const & operator* () const
 
Typeoperator* ()
 

Member Typedef Documentation

template<typename TypeT>
typedef boost::variant<Type, boost::reference_wrapper<Type>, boost::shared_ptr<Type> > capd::homAux::UniversalVariable< TypeT >::Storage
template<typename TypeT>
typedef TypeT capd::homAux::UniversalVariable< TypeT >::Type

Constructor & Destructor Documentation

template<typename TypeT>
capd::homAux::UniversalVariable< TypeT >::UniversalVariable ( const Type var)
inline
template<typename TypeT>
capd::homAux::UniversalVariable< TypeT >::UniversalVariable ( Type var,
bool  reference 
)
inline
template<typename TypeT>
capd::homAux::UniversalVariable< TypeT >::UniversalVariable ( Type var,
bool  reference 
)
inline
template<typename TypeT>
capd::homAux::UniversalVariable< TypeT >::UniversalVariable ( boost::shared_ptr< Type var)
inline

Member Function Documentation

template<typename TypeT>
Type const& capd::homAux::UniversalVariable< TypeT >::operator* ( ) const
inline
template<typename TypeT>
Type& capd::homAux::UniversalVariable< TypeT >::operator* ( )
inline
template<typename TypeT>
Type const* capd::homAux::UniversalVariable< TypeT >::operator-> ( ) const
inline
template<typename TypeT>
Type* capd::homAux::UniversalVariable< TypeT >::operator-> ( )
inline