Psi4
Public Member Functions | Protected Types | Protected Attributes | Private Member Functions | List of all members
psi::Ref< T, CounterPolicy, ObjectPolicy > Class Template Reference

#include <ref.h>

Inheritance diagram for psi::Ref< T, CounterPolicy, ObjectPolicy >:

Public Member Functions

 Ref ()
 
 Ref (T *p)
 
 Ref (Ref< T, CP, OP > const &cp)
 
 ~Ref ()
 
Ref< T, CP, OP > & operator= (T *p)
 
Ref< T, CP, OP > & operator= (Ref< T, CP, OP > const &cp)
 
Toperator-> () const
 
Toperator* () const
 
void set_managed (bool managed)
 
bool get_managed () const
 
 operator T * () const
 
Tpointer () const
 
Toperator[] (int i) const
 

Protected Types

typedef CounterPolicy CP
 
typedef ObjectPolicy OP
 

Protected Attributes

T_object_pointed_to
 
bool _managed
 

Private Member Functions

void init (T *p)
 
void attach (Ref< T, CP, OP > const &cp)
 
void detach ()
 

Member Typedef Documentation

template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
typedef CounterPolicy psi::Ref< T, CounterPolicy, ObjectPolicy >::CP
protected
template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
typedef ObjectPolicy psi::Ref< T, CounterPolicy, ObjectPolicy >::OP
protected

Constructor & Destructor Documentation

template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
psi::Ref< T, CounterPolicy, ObjectPolicy >::Ref ( )
inline
template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
psi::Ref< T, CounterPolicy, ObjectPolicy >::Ref ( T p)
inline
template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
psi::Ref< T, CounterPolicy, ObjectPolicy >::Ref ( Ref< T, CP, OP > const &  cp)
inline
template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
psi::Ref< T, CounterPolicy, ObjectPolicy >::~Ref ( )
inline

Member Function Documentation

template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
void psi::Ref< T, CounterPolicy, ObjectPolicy >::attach ( Ref< T, CP, OP > const &  cp)
inlineprivate
template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
void psi::Ref< T, CounterPolicy, ObjectPolicy >::detach ( )
inlineprivate
template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
bool psi::Ref< T, CounterPolicy, ObjectPolicy >::get_managed ( ) const
inline
template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
void psi::Ref< T, CounterPolicy, ObjectPolicy >::init ( T p)
inlineprivate
template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
psi::Ref< T, CounterPolicy, ObjectPolicy >::operator T * ( ) const
inline
template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
T& psi::Ref< T, CounterPolicy, ObjectPolicy >::operator* ( ) const
inline
template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
T* psi::Ref< T, CounterPolicy, ObjectPolicy >::operator-> ( ) const
inline
template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
Ref<T,CP,OP>& psi::Ref< T, CounterPolicy, ObjectPolicy >::operator= ( T p)
inline
template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
Ref<T,CP,OP>& psi::Ref< T, CounterPolicy, ObjectPolicy >::operator= ( Ref< T, CP, OP > const &  cp)
inline
template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
T& psi::Ref< T, CounterPolicy, ObjectPolicy >::operator[] ( int  i) const
inline
template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
T* psi::Ref< T, CounterPolicy, ObjectPolicy >::pointer ( ) const
inline
template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
void psi::Ref< T, CounterPolicy, ObjectPolicy >::set_managed ( bool  managed)
inline

Member Data Documentation

template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
bool psi::Ref< T, CounterPolicy, ObjectPolicy >::_managed
protected
template<typename T, typename CounterPolicy = SimpleReferenceCount, typename ObjectPolicy = StandardObjectPolicy>
T* psi::Ref< T, CounterPolicy, ObjectPolicy >::_object_pointed_to
protected

The documentation for this class was generated from the following file: