Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

osg::RefPtr< Ref > Class Template Reference
[Field Container]

#include <OSGRefPtr.h>

List of all members.

Public Member Functions

Constructors
RefPtr (void)
 RefPtr (const Ref &fcp)
 RefPtr (const RefPtr< Ref > &ptr)
Destructor
*virtual ~RefPtr ()
Access
operator Ref (void) const
Ref::StoredObjectType * operator-> (void) const
Ref get (void) const
RefPtr< Ref > & operator= (const Ref &fcp)
RefPtr< Ref > & operator= (const RefPtr< Ref > &rcp)
RefPtr< Ref > & operator= (const NullFieldContainerPtr &)
Comparison
*bool operator< (const NullFieldContainerPtr &) const
bool operator== (const NullFieldContainerPtr &other) const
bool operator!= (const NullFieldContainerPtr &other) const
bool operator< (const FieldContainerPtr &other) const
bool operator== (const FieldContainerPtr &other) const
bool operator!= (const FieldContainerPtr &other) const
bool operator< (const RefPtr< Ref > &other) const
bool operator== (const RefPtr< Ref > &other) const
bool operator!= (const RefPtr< Ref > &other) const
bool operator! (void) const

Private Member Functions

void setRef (const Ref &ref)

Private Attributes

Ref _ref


Detailed Description

template<class Ref>
class osg::RefPtr< Ref >

Definition at line 59 of file OSGRefPtr.h.


Constructor & Destructor Documentation

template<class Ref>
osg::RefPtr< Ref >::RefPtr void   ) 
 

Definition at line 51 of file OSGRefPtr.inl.

00051                         : _ref(NullFC)
00052 {}

template<class Ref>
osg::RefPtr< Ref >::RefPtr const Ref &  fcp  )  [explicit]
 

Definition at line 55 of file OSGRefPtr.inl.

References osg::RefPtr< Ref >::_ref, and osg::addRefCP().

00055                                   : _ref(ref)
00056 {
00057     addRefCP(_ref);
00058 }

template<class Ref>
osg::RefPtr< Ref >::RefPtr const RefPtr< Ref > &  ptr  ) 
 

Definition at line 61 of file OSGRefPtr.inl.

References osg::RefPtr< Ref >::_ref, and osg::addRefCP().

00061                                           : _ref(ptr._ref)
00062 {
00063     addRefCP(_ref);
00064 }

template<class Ref>
osg::RefPtr< Ref >::~RefPtr  )  [virtual]
 

Definition at line 67 of file OSGRefPtr.inl.

References osg::RefPtr< Ref >::_ref, osg::NullFC, and osg::subRefCP().

00068 {
00069     if(_ref != NullFC)
00070         subRefCP(_ref);
00071 }


Member Function Documentation

template<class Ref>
osg::RefPtr< Ref >::operator Ref void   )  const
 

Definition at line 74 of file OSGRefPtr.inl.

References osg::RefPtr< Ref >::_ref.

00075 {
00076     return _ref;
00077 }

template<class Ref>
Ref::StoredObjectType * osg::RefPtr< Ref >::operator-> void   )  const
 

Definition at line 80 of file OSGRefPtr.inl.

00081 {
00082     return &(*_ref);
00083 }

template<class Ref>
Ref osg::RefPtr< Ref >::get void   )  const
 

Definition at line 86 of file OSGRefPtr.inl.

References osg::RefPtr< Ref >::_ref.

00087 {
00088     return _ref;
00089 }

template<class Ref>
RefPtr< Ref > & osg::RefPtr< Ref >::operator= const Ref &  fcp  ) 
 

Definition at line 92 of file OSGRefPtr.inl.

References osg::RefPtr< Ref >::setRef().

00093 {
00094     setRef(fcp);
00095     
00096     return *this;
00097 }

template<class Ref>
RefPtr< Ref > & osg::RefPtr< Ref >::operator= const RefPtr< Ref > &  rcp  ) 
 

Definition at line 100 of file OSGRefPtr.inl.

References osg::RefPtr< Ref >::_ref, and osg::RefPtr< Ref >::setRef().

00101 {
00102     setRef(rcp._ref);
00103     
00104     return *this;
00105 }

template<class Ref>
RefPtr< Ref > & osg::RefPtr< Ref >::operator= const NullFieldContainerPtr  ) 
 

Definition at line 108 of file OSGRefPtr.inl.

References osg::NullFC, and osg::RefPtr< Ref >::setRef().

00109 {
00110     setRef(NullFC);
00111     
00112     return *this;
00113 }

template<class Ref>
bool osg::RefPtr< Ref >::operator< const NullFieldContainerPtr  )  const
 

Definition at line 117 of file OSGRefPtr.inl.

00118 {
00119     return false;
00120 }

template<class Ref>
bool osg::RefPtr< Ref >::operator== const NullFieldContainerPtr other  )  const
 

Definition at line 123 of file OSGRefPtr.inl.

References osg::RefPtr< Ref >::_ref, and osg::NullFC.

00124 {
00125     return _ref == NullFC;
00126 }

template<class Ref>
bool osg::RefPtr< Ref >::operator!= const NullFieldContainerPtr other  )  const
 

Definition at line 129 of file OSGRefPtr.inl.

References osg::RefPtr< Ref >::_ref, and osg::NullFC.

00130 {
00131     return _ref != NullFC;
00132 }

template<class Ref>
bool osg::RefPtr< Ref >::operator< const FieldContainerPtr other  )  const
 

Definition at line 136 of file OSGRefPtr.inl.

References osg::RefPtr< Ref >::_ref.

00137 {
00138     return _ref < other;
00139 }

template<class Ref>
bool osg::RefPtr< Ref >::operator== const FieldContainerPtr other  )  const
 

Definition at line 142 of file OSGRefPtr.inl.

References osg::RefPtr< Ref >::_ref.

00143 {
00144     return _ref == other;
00145 }

template<class Ref>
bool osg::RefPtr< Ref >::operator!= const FieldContainerPtr other  )  const
 

Definition at line 148 of file OSGRefPtr.inl.

References osg::RefPtr< Ref >::_ref.

00149 {
00150     return !(_ref == other);
00151 }

template<class Ref>
bool osg::RefPtr< Ref >::operator< const RefPtr< Ref > &  other  )  const
 

Definition at line 155 of file OSGRefPtr.inl.

References osg::RefPtr< Ref >::_ref.

00156 {
00157     return _ref < other._ref;
00158 }

template<class Ref>
bool osg::RefPtr< Ref >::operator== const RefPtr< Ref > &  other  )  const
 

Definition at line 161 of file OSGRefPtr.inl.

References osg::RefPtr< Ref >::_ref.

00162 {
00163     return _ref == other._ref;
00164 }

template<class Ref>
bool osg::RefPtr< Ref >::operator!= const RefPtr< Ref > &  other  )  const
 

Definition at line 167 of file OSGRefPtr.inl.

References osg::RefPtr< Ref >::_ref.

00168 {
00169     return !(_ref == other._ref);
00170 }

template<class Ref>
bool osg::RefPtr< Ref >::operator! void   )  const
 

Definition at line 173 of file OSGRefPtr.inl.

References osg::RefPtr< Ref >::_ref, and osg::NullFC.

00174 {
00175     return _ref == NullFC;
00176 }

template<class Ref>
void osg::RefPtr< Ref >::setRef const Ref &  ref  )  [private]
 

Definition at line 180 of file OSGRefPtr.inl.

References osg::RefPtr< Ref >::_ref, osg::addRefCP(), osg::NullFC, and osg::subRefCP().

Referenced by osg::RefPtr< Ref >::operator=().

00181 {
00182     if(_ref == ref)
00183         return;
00184 
00185     if(_ref != NullFC)
00186         subRefCP(_ref);
00187 
00188     _ref = ref;
00189 
00190     if(_ref != NullFC)
00191         addRefCP(_ref);
00192 }


Member Data Documentation

template<class Ref>
Ref osg::RefPtr< Ref >::_ref [private]
 

Definition at line 128 of file OSGRefPtr.h.

Referenced by osg::RefPtr< Ref >::get(), osg::RefPtr< Ref >::operator Ref(), osg::RefPtr< Ref >::operator!(), osg::RefPtr< Ref >::operator!=(), osg::RefPtr< Ref >::operator<(), osg::RefPtr< Ref >::operator=(), osg::RefPtr< Ref >::operator==(), osg::RefPtr< Ref >::RefPtr(), osg::RefPtr< Ref >::setRef(), and osg::RefPtr< Ref >::~RefPtr().


The documentation for this class was generated from the following files:
Generated on Thu Aug 25 04:13:34 2005 for OpenSG by  doxygen 1.4.3