OSG::RefPtr< ContainerPtr > Class Template Reference

#include <OSGRefPtr.h>

List of all members.


Public Types

typedef ContainerPtr Ref

Public Member Functions

Constructors


 RefPtr (void)
 RefPtr (const RefPtr &refPtr)
 RefPtr (const Ref &pContainer)
Destructor


virtual ~RefPtr (void)
Access


 operator Ref (void) const
PtrStripper< ContainerPtr
>::Object * 
operator-> (void) const
Ref get (void) const
RefPtroperator= (const Ref &pContainer)
RefPtroperator= (const RefPtr &refPtr)
Comparison


bool operator< (const FieldContainerPtr &other) const
bool operator== (const FieldContainerPtr &other) const
bool operator!= (const FieldContainerPtr &other) const
bool operator< (const RefPtr< ContainerPtr > &other) const
bool operator== (const RefPtr< ContainerPtr > &other) const
bool operator!= (const RefPtr< ContainerPtr > &other) const
bool operator! (void) const

Private Member Functions

void setRef (const Ref &pContainer)

Private Attributes

Ref _pRef

Detailed Description

template<class ContainerPtr>
class OSG::RefPtr< ContainerPtr >

Definition at line 58 of file OSGRefPtr.h.


Member Typedef Documentation

template<class ContainerPtr>
typedef ContainerPtr OSG::RefPtr< ContainerPtr >::Ref

Definition at line 64 of file OSGRefPtr.h.


Constructor & Destructor Documentation

template<class ContainerPtr>
OSG::RefPtr< ContainerPtr >::RefPtr ( void   )  [inline]

Definition at line 48 of file OSGRefPtr.inl.

00048                                  :
00049     _pRef(NullFC)
00050 {
00051 }

template<class ContainerPtr>
OSG::RefPtr< ContainerPtr >::RefPtr ( const RefPtr< ContainerPtr > &  refPtr  )  [inline]

Definition at line 61 of file OSGRefPtr.inl.

References OSG::RefPtr< ContainerPtr >::_pRef, and OSG::setRefd().

00061                                                  :
00062     _pRef(NullFC)
00063 {
00064     setRefd(_pRef, refPtr._pRef);
00065 }

template<class ContainerPtr>
OSG::RefPtr< ContainerPtr >::RefPtr ( const Ref pContainer  )  [inline, explicit]

Definition at line 54 of file OSGRefPtr.inl.

References OSG::RefPtr< ContainerPtr >::_pRef, and OSG::setRefd().

00054                                             :
00055     _pRef(NullFC)
00056 {
00057     setRefd(_pRef, pRef);
00058 }

template<class ContainerPtr>
OSG::RefPtr< ContainerPtr >::~RefPtr ( void   )  [inline, virtual]

Definition at line 68 of file OSGRefPtr.inl.

References OSG::RefPtr< ContainerPtr >::_pRef, and OSG::subRef().

00069 {
00070     subRef(_pRef);
00071 }


Member Function Documentation

template<class ContainerPtr>
OSG::RefPtr< ContainerPtr >::operator Ref ( void   )  const

template<class ContainerPtr>
PtrStripper< ContainerPtr >::Object * OSG::RefPtr< ContainerPtr >::operator-> ( void   )  const [inline]

Definition at line 81 of file OSGRefPtr.inl.

00082 {
00083     return &(*_pRef);
00084 }

template<class ContainerPtr>
RefPtr< ContainerPtr >::Ref OSG::RefPtr< ContainerPtr >::get ( void   )  const [inline]

Definition at line 87 of file OSGRefPtr.inl.

References OSG::RefPtr< ContainerPtr >::_pRef.

00088 {
00089     return _pRef;
00090 }

template<class ContainerPtr>
RefPtr< ContainerPtr > & OSG::RefPtr< ContainerPtr >::operator= ( const Ref pContainer  )  [inline]

Definition at line 93 of file OSGRefPtr.inl.

References OSG::RefPtr< ContainerPtr >::setRef().

00094 {
00095     setRef(pContainer);
00096 
00097     return *this;
00098 }

template<class ContainerPtr>
RefPtr< ContainerPtr > & OSG::RefPtr< ContainerPtr >::operator= ( const RefPtr< ContainerPtr > &  refPtr  )  [inline]

Definition at line 101 of file OSGRefPtr.inl.

References OSG::RefPtr< ContainerPtr >::_pRef, and OSG::RefPtr< ContainerPtr >::setRef().

00102 {
00103     setRef(refPtr._pRef);
00104 
00105     return *this;
00106 }

template<class ContainerPtr>
bool OSG::RefPtr< ContainerPtr >::operator< ( const FieldContainerPtr &  other  )  const [inline]

Definition at line 109 of file OSGRefPtr.inl.

References OSG::RefPtr< ContainerPtr >::_pRef.

00110 {
00111     return _pRef < other;
00112 }

template<class ContainerPtr>
bool OSG::RefPtr< ContainerPtr >::operator== ( const FieldContainerPtr &  other  )  const [inline]

Definition at line 115 of file OSGRefPtr.inl.

References OSG::RefPtr< ContainerPtr >::_pRef.

00116 {
00117     return _pRef == other;
00118 }

template<class ContainerPtr>
bool OSG::RefPtr< ContainerPtr >::operator!= ( const FieldContainerPtr &  other  )  const [inline]

Definition at line 121 of file OSGRefPtr.inl.

References OSG::RefPtr< ContainerPtr >::_pRef.

00122 {
00123     return !(_pRef == other);
00124 }

template<class ContainerPtr>
bool OSG::RefPtr< ContainerPtr >::operator< ( const RefPtr< ContainerPtr > &  other  )  const [inline]

Definition at line 128 of file OSGRefPtr.inl.

References OSG::RefPtr< ContainerPtr >::_pRef.

00129 {
00130     return _pRef < other._pRef;
00131 }

template<class ContainerPtr>
bool OSG::RefPtr< ContainerPtr >::operator== ( const RefPtr< ContainerPtr > &  other  )  const [inline]

Definition at line 134 of file OSGRefPtr.inl.

References OSG::RefPtr< ContainerPtr >::_pRef.

00135 {
00136     return _pRef == other._pRef;
00137 }

template<class ContainerPtr>
bool OSG::RefPtr< ContainerPtr >::operator!= ( const RefPtr< ContainerPtr > &  other  )  const [inline]

Definition at line 140 of file OSGRefPtr.inl.

References OSG::RefPtr< ContainerPtr >::_pRef.

00141 {
00142     return !(_pRef == other._pRef);
00143 }

template<class ContainerPtr>
bool OSG::RefPtr< ContainerPtr >::operator! ( void   )  const [inline]

Definition at line 146 of file OSGRefPtr.inl.

References OSG::RefPtr< ContainerPtr >::_pRef, and NullFC.

00147 {
00148     return _pRef == NullFC;
00149 }

template<class ContainerPtr>
void OSG::RefPtr< ContainerPtr >::setRef ( const Ref pContainer  )  [inline, private]

Definition at line 152 of file OSGRefPtr.inl.

References OSG::RefPtr< ContainerPtr >::_pRef, and OSG::setRefd().

Referenced by OSG::RefPtr< ContainerPtr >::operator=().

00153 {
00154     if(_pRef == pContainer)
00155         return;
00156 
00157     setRefd(_pRef, pContainer);
00158 }


Member Data Documentation

template<class ContainerPtr>
Ref OSG::RefPtr< ContainerPtr >::_pRef [private]


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