osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT > Class Template Reference

#include <OSGFieldContainerPtrImpl.h>

List of all members.

Public Types

typedef FieldContainerTypeT StoredObjectType
typedef ConstFCPtr ObjectType
typedef BasePtrTypeT Inherited
typedef FCPtr< typename
FieldContainerTypeT::Ptr::Inherited,
FieldContainerTypeT > 
NCFCPtr
typedef ConstFCPtr
< BasePtrTypeT,
FieldContainerTypeT > 
Self

Public Member Functions

 OSG_PROPERTY_REQUIREMENT (BasePtrTypeT, ConstPointer)
Constructors


 ConstFCPtr (void)
 ConstFCPtr (const NullFieldContainerPtr &)
 ConstFCPtr (const NCFCPtr &source)
 ConstFCPtr (const ConstFCPtr &source)
Destructor


 ~ConstFCPtr (void)
Container Access


const FieldContainerTypeT * operator-> (void)
const FieldContainerTypeT * operator-> (void) const
const FieldContainerTypeT & operator* (void)
const FieldContainerTypeT & operator* (void) const
const FieldContainerTypeT * getCPtr (void)
const FieldContainerTypeT * getCPtr (void) const
Assignment


void operator= (const NCFCPtr &)
void operator= (const ConstFCPtr &source)
void operator= (const NullFieldContainerPtr &source)
Container Constructors


 ConstFCPtr (const FieldContainerTypeT &source)
 Container Constructor, used to work around MS Bugs, use them only if you really now what you are doing ;-).
 ConstFCPtr (const FieldContainerTypeT *source)
 Container Constructor, used to work around MS Bugs, use them only if you really now what you are doing ;-).

Protected Member Functions

Internal Constructors


 ConstFCPtr (const FieldContainerTypeT *source, const UInt16 uiSize, const UInt16 uiParentPos)

Friends

class FieldContainer


Detailed Description

template<class BasePtrTypeT, class FieldContainerTypeT>
class osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >

Template to construct custom data store pointers

Definition at line 678 of file OSGFieldContainerPtrImpl.h.


Member Typedef Documentation

template<class BasePtrTypeT, class FieldContainerTypeT>
typedef FieldContainerTypeT osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::StoredObjectType

Definition at line 686 of file OSGFieldContainerPtrImpl.h.

template<class BasePtrTypeT, class FieldContainerTypeT>
typedef ConstFCPtr osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::ObjectType

Definition at line 687 of file OSGFieldContainerPtrImpl.h.

template<class BasePtrTypeT, class FieldContainerTypeT>
typedef BasePtrTypeT osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::Inherited

Definition at line 689 of file OSGFieldContainerPtrImpl.h.

template<class BasePtrTypeT, class FieldContainerTypeT>
typedef FCPtr<typename FieldContainerTypeT::Ptr::Inherited, FieldContainerTypeT > osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::NCFCPtr

Definition at line 692 of file OSGFieldContainerPtrImpl.h.

template<class BasePtrTypeT, class FieldContainerTypeT>
typedef ConstFCPtr<BasePtrTypeT, FieldContainerTypeT> osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::Self

Definition at line 695 of file OSGFieldContainerPtrImpl.h.


Constructor & Destructor Documentation

template<class BasePtrTypeT, class FieldContainerTypeT>
osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::ConstFCPtr ( void   )  [inline]

Definition at line 954 of file OSGFieldContainerPtrImpl.inl.

00954                                                               :
00955     Inherited()
00956 {
00957 }

template<class BasePtrTypeT, class FieldContainerTypeT>
osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::ConstFCPtr ( const NullFieldContainerPtr  )  [inline]

Definition at line 961 of file OSGFieldContainerPtrImpl.inl.

00962                                               :
00963 
00964     Inherited()
00965 {
00966 }

template<class BasePtrTypeT, class FieldContainerTypeT>
osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::ConstFCPtr ( const NCFCPtr source  )  [inline]

Definition at line 970 of file OSGFieldContainerPtrImpl.inl.

00970                                                                  :
00971 
00972     Inherited(source)
00973 {
00974 }

template<class BasePtrTypeT, class FieldContainerTypeT>
osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::ConstFCPtr ( const ConstFCPtr< BasePtrTypeT, FieldContainerTypeT > &  source  )  [inline]

Definition at line 978 of file OSGFieldContainerPtrImpl.inl.

00978                                                                     :
00979 
00980     Inherited(source)
00981 {
00982 }

template<class BasePtrTypeT, class FieldContainerTypeT>
osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::~ConstFCPtr ( void   )  [inline]

Definition at line 988 of file OSGFieldContainerPtrImpl.inl.

00989 {
00990 }

template<class BasePtrTypeT, class FieldContainerTypeT>
osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::ConstFCPtr ( const FieldContainerTypeT &  source  )  [inline, explicit]

Definition at line 1096 of file OSGFieldContainerPtrImpl.inl.

01096                                                                             :
01097 
01098     Inherited(source)
01099 {
01100 }

template<class BasePtrTypeT, class FieldContainerTypeT>
osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::ConstFCPtr ( const FieldContainerTypeT *  source  )  [inline, explicit]

Definition at line 1104 of file OSGFieldContainerPtrImpl.inl.

01104                                                                             :
01105 
01106     Inherited(source)
01107 {
01108 }

template<class BasePtrTypeT, class FieldContainerTypeT>
osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::ConstFCPtr ( const FieldContainerTypeT *  source,
const UInt16  uiSize,
const UInt16  uiParentPos 
) [inline, protected]

Definition at line 1111 of file OSGFieldContainerPtrImpl.inl.

01114                                              :
01115 
01116     Inherited(source, uiSize, uiParentEPos)
01117 {
01118 }


Member Function Documentation

template<class BasePtrTypeT, class FieldContainerTypeT>
osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::OSG_PROPERTY_REQUIREMENT ( BasePtrTypeT  ,
ConstPointer   
)

template<class BasePtrTypeT, class FieldContainerTypeT>
const FieldContainerTypeT * osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::operator-> ( void   )  [inline]

Definition at line 997 of file OSGFieldContainerPtrImpl.inl.

References osg::PThreadBase::getAspect().

00998 {
00999 #if !defined(OSG_DEBUG_NO_FCPTR_ARITHM) 
01000     return (const FieldContainerTypeT *) Self::getElemP(Thread::getAspect());
01001 #else
01002     return (const FieldContainerTypeT *) Self::getFirstElemP();
01003 #endif
01004 }

template<class BasePtrTypeT, class FieldContainerTypeT>
const FieldContainerTypeT * osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::operator-> ( void   )  const [inline]

Definition at line 1008 of file OSGFieldContainerPtrImpl.inl.

References osg::PThreadBase::getAspect().

01010 {
01011 #if !defined(OSG_DEBUG_NO_FCPTR_ARITHM) 
01012     return (const FieldContainerTypeT *) Self::getElemP(Thread::getAspect());
01013 #else
01014     return (const FieldContainerTypeT *) Self::getFirstElemP();
01015 #endif
01016 }

template<class BasePtrTypeT, class FieldContainerTypeT>
const FieldContainerTypeT & osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::operator* ( void   )  [inline]

Definition at line 1020 of file OSGFieldContainerPtrImpl.inl.

References osg::PThreadBase::getAspect().

01021 {
01022 #if !defined(OSG_DEBUG_NO_FCPTR_ARITHM) 
01023    return *((const FieldContainerTypeT *) Self::getElemP(Thread::getAspect()));
01024 #else
01025    return *((const FieldContainerTypeT *) Self::getFirstElemP());
01026 #endif
01027 }

template<class BasePtrTypeT, class FieldContainerTypeT>
const FieldContainerTypeT & osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::operator* ( void   )  const [inline]

Definition at line 1031 of file OSGFieldContainerPtrImpl.inl.

References osg::PThreadBase::getAspect().

01033 {
01034 #if !defined(OSG_DEBUG_NO_FCPTR_ARITHM) 
01035    return *((const FieldContainerTypeT *) Self::getElemP(Thread::getAspect()));
01036 #else
01037    return *((const FieldContainerTypeT *) Self::getFirstElemP());
01038 #endif
01039 }

template<class BasePtrTypeT, class FieldContainerTypeT>
const FieldContainerTypeT * osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::getCPtr ( void   )  [inline]

Definition at line 1044 of file OSGFieldContainerPtrImpl.inl.

References osg::PThreadBase::getAspect().

01046 {
01047 #if !defined(OSG_DEBUG_NO_FCPTR_ARITHM) 
01048     return (const FieldContainerTypeT *) Self::getElemP(Thread::getAspect());
01049 #else
01050     return (const FieldContainerTypeT *) Self::getFirstElemP();
01051 #endif
01052 }

template<class BasePtrTypeT, class FieldContainerTypeT>
const FieldContainerTypeT * osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::getCPtr ( void   )  const [inline]

Definition at line 1056 of file OSGFieldContainerPtrImpl.inl.

References osg::PThreadBase::getAspect().

01057 {
01058 #if !defined(OSG_DEBUG_NO_FCPTR_ARITHM) 
01059     return (const FieldContainerTypeT *) Self::getElemP(Thread::getAspect());
01060 #else
01061     return (const FieldContainerTypeT *) Self::getFirstElemP();
01062 #endif
01063 }

template<class BasePtrTypeT, class FieldContainerTypeT>
void osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::operator= ( const NCFCPtr source  )  [inline]

Definition at line 1070 of file OSGFieldContainerPtrImpl.inl.

01071 {
01072     // copy parts inherited from parent
01073     *(static_cast<Inherited *>(this)) = source;
01074 }

template<class BasePtrTypeT, class FieldContainerTypeT>
void osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::operator= ( const ConstFCPtr< BasePtrTypeT, FieldContainerTypeT > &  source  )  [inline]

Definition at line 1078 of file OSGFieldContainerPtrImpl.inl.

01079 {
01080     // copy parts inherited from parent
01081     *(static_cast<Inherited *>(this)) = source;
01082 }

template<class BasePtrTypeT, class FieldContainerTypeT>
void osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::operator= ( const NullFieldContainerPtr source  )  [inline]

Definition at line 1085 of file OSGFieldContainerPtrImpl.inl.

01087 {
01088     Self::setNull();
01089 }


Friends And Related Function Documentation

template<class BasePtrTypeT, class FieldContainerTypeT>
friend class FieldContainer [friend]

Definition at line 764 of file OSGFieldContainerPtrImpl.h.


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

Generated on Mon Mar 17 12:05:01 2008 for OpenSG by  doxygen 1.5.5