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

osg::TypedStoredObjectFunctor2< RetT, StoredObjectT, ArgObjectT, ArgsT, SizeTraitsT > Class Template Reference
[Functors]

#include <OSGTypedFunctors2.h>

Inheritance diagram for osg::TypedStoredObjectFunctor2< RetT, StoredObjectT, ArgObjectT, ArgsT, SizeTraitsT >:

osg::TypedStoredObjectFunctorBase< TypedFunctor2Base< RetT, ArgObjectT, ArgsT, SizeTraitsT >, TypedSOTraits2< RetT, StoredObjectT, ArgObjectT::ArgsC, ArgsT > > osg::TypedFunctor2Base< RetT, ArgObjectT, ArgsT, SizeTraitsT > osg::TypedFunctorBase< SizeTraitsT > osg::FunctorBase< SizeTraitsT > List of all members.

Types

typedef ArgsT::Arg1T Arg1
*typedef ArgObjectT::ArgType CallArgType

Types

typedef TypedStoredObjectFunctorBase<
TypedFunctor2Base< RetT,
ArgObjectT, ArgsT, SizeTraitsT >,
TypedSOTraits2< RetT, StoredObjectT,
typename ArgObjectT::ArgsC,
ArgsT > > 
Inherited
typedef TypedStoredObjectFunctor2<
RetT, StoredObjectT, ArgObjectT,
ArgsT, SizeTraitsT > 
Self
*typedef TypedSOTraits2< RetT,
StoredObjectT, typename ArgObjectT::ArgsC,
ArgsT
TypeSOTraits

Public Types

typedef TypedSOTraits2< RetT,
StoredObjectT, ArgObjectT::ArgsC,
ArgsT >::SetObjectT 
SetObjectT
typedef ArgsT::Arg1T Arg1Type

Public Member Functions

TypedStoredObjectFunctorBase (void)
 TypedStoredObjectFunctorBase (const TypedStoredObjectFunctorBase &source)
*void setMethod (ObjMethodF pFunc)
void setCalledObject (SetObjectT pObj)
void setObjectAndMethod (SetObjectT pObj, ObjMethodF pFunc)
TypedFunctor2Base (void)
 TypedFunctor2Base (const TypedFunctor2Base &source)
Constructors
TypedStoredObjectFunctor2 (void)
 TypedStoredObjectFunctor2 (const TypedStoredObjectFunctor2 &source)
Destructor
*virtual ~TypedStoredObjectFunctor2 (void)
Call
*virtual RetT call (CallArgType obj, Arg1 oArg1)

Public Attributes

*typedef TypedSOTraits2< RetT,
StoredObjectT, ArgObjectT::ArgsC,
ArgsT >::ObjMethodF 
ObjMethodF

Protected Member Functions

Helper
*void postCopyConstruct (const TypedFunctorBase &source)

Protected Attributes

Members
*UInt8 _data1 [SizeTraitsT::_uiObjectSize]
UInt8 _data2 [SizeTraitsT::_uiFuncPointerSize]
UInt8 _flags

Static Protected Attributes

Constants
*static const UInt8 ObjectValid = 0x01
static const UInt8 FuncPtrValid = 0x02
static const UInt8 FunctorActive = 0x80

Private Member Functions

Operators
*void operator= (const TypedStoredObjectFunctor2 &source)
 prohibit default function (move to 'public' if needed)

Detailed Description

template<class RetT, class StoredObjectT, class ArgObjectT, class ArgsT, class SizeTraitsT = DefaultFunctorSizeTraits>
class osg::TypedStoredObjectFunctor2< RetT, StoredObjectT, ArgObjectT, ArgsT, SizeTraitsT >

Definition at line 757 of file OSGTypedFunctors2.h.


Member Typedef Documentation

template<class RetT, class StoredObjectT, class ArgObjectT, class ArgsT, class SizeTraitsT = DefaultFunctorSizeTraits>
typedef ArgsT ::Arg1T osg::TypedStoredObjectFunctor2< RetT, StoredObjectT, ArgObjectT, ArgsT, SizeTraitsT >::Arg1
 

Definition at line 776 of file OSGTypedFunctors2.h.

template<class RetT, class StoredObjectT, class ArgObjectT, class ArgsT, class SizeTraitsT = DefaultFunctorSizeTraits>
typedef TypedStoredObjectFunctorBase< TypedFunctor2Base<RetT, ArgObjectT, ArgsT, SizeTraitsT>, TypedSOTraits2 <RetT, StoredObjectT, typename ArgObjectT::ArgsC, ArgsT > > osg::TypedStoredObjectFunctor2< RetT, StoredObjectT, ArgObjectT, ArgsT, SizeTraitsT >::Inherited [private]
 

Reimplemented from osg::TypedStoredObjectFunctorBase< TypedFunctor2Base< RetT, ArgObjectT, ArgsT, SizeTraitsT >, TypedSOTraits2< RetT, StoredObjectT, ArgObjectT::ArgsC, ArgsT > >.

Definition at line 828 of file OSGTypedFunctors2.h.

template<class RetT, class StoredObjectT, class ArgObjectT, class ArgsT, class SizeTraitsT = DefaultFunctorSizeTraits>
typedef TypedStoredObjectFunctor2<RetT, StoredObjectT, ArgObjectT, ArgsT, SizeTraitsT > osg::TypedStoredObjectFunctor2< RetT, StoredObjectT, ArgObjectT, ArgsT, SizeTraitsT >::Self [private]
 

Reimplemented from osg::TypedStoredObjectFunctorBase< TypedFunctor2Base< RetT, ArgObjectT, ArgsT, SizeTraitsT >, TypedSOTraits2< RetT, StoredObjectT, ArgObjectT::ArgsC, ArgsT > >.

Definition at line 835 of file OSGTypedFunctors2.h.

typedef TypedSOTraits2< RetT, StoredObjectT, ArgObjectT::ArgsC, ArgsT > ::SetObjectT osg::TypedStoredObjectFunctorBase< TypedFunctor2Base< RetT, ArgObjectT, ArgsT, SizeTraitsT > , TypedSOTraits2< RetT, StoredObjectT, ArgObjectT::ArgsC, ArgsT > >::SetObjectT [inherited]
 

Definition at line 297 of file OSGTypedFunctorBase.h.

typedef ArgsT ::Arg1T osg::TypedFunctor2Base< RetT , ArgObjectT , ArgsT , SizeTraitsT >::Arg1Type [inherited]
 

Definition at line 194 of file OSGTypedFunctors2.h.


Constructor & Destructor Documentation

template<class RetT, class StoredObjectT, class ArgObjectT, class ArgsT, class SizeTraitsT>
osg::TypedStoredObjectFunctor2< RetT, StoredObjectT, ArgObjectT, ArgsT, SizeTraitsT >::TypedStoredObjectFunctor2 void   )  [inline]
 

Definition at line 495 of file OSGTypedFunctors2.inl.

00495                                                                       :
00496     Inherited()
00497 {
00498 }

template<class RetT, class StoredObjectT, class ArgObjectT, class ArgsT, class SizeTraitsT>
osg::TypedStoredObjectFunctor2< RetT, StoredObjectT, ArgObjectT, ArgsT, SizeTraitsT >::TypedStoredObjectFunctor2 const TypedStoredObjectFunctor2< RetT, StoredObjectT, ArgObjectT, ArgsT, SizeTraitsT > &  source  )  [inline]
 

Definition at line 510 of file OSGTypedFunctors2.inl.

00511                                              : 
00512 
00513     Inherited(source) 
00514 {
00515 }

template<class RetT, class StoredObjectT, class ArgObjectT, class ArgsT, class SizeTraitsT>
osg::TypedStoredObjectFunctor2< RetT, StoredObjectT, ArgObjectT, ArgsT, SizeTraitsT >::~TypedStoredObjectFunctor2 void   )  [inline, virtual]
 

Definition at line 527 of file OSGTypedFunctors2.inl.

00528 {
00529 }


Member Function Documentation

template<class RetT, class StoredObjectT, class ArgObjectT, class ArgsT, class SizeTraitsT>
RetT osg::TypedStoredObjectFunctor2< RetT, StoredObjectT, ArgObjectT, ArgsT, SizeTraitsT >::call CallArgType  obj,
Arg1  oArg1
[inline, virtual]
 

Reimplemented from osg::TypedFunctor2Base< RetT, ArgObjectT, ArgsT, SizeTraitsT >.

Definition at line 545 of file OSGTypedFunctors2.inl.

00547 { 
00548     if(Self::_flags & Self::FuncPtrValid &&
00549        Self::_flags & Self::ObjectValid)
00550     {
00551         return TypeSOTraits::callObjectMethod(Self::_data1, 
00552                                               Self::_data2, 
00553                                                obj,
00554                                                oArg1);
00555     }
00556     else
00557     {
00558         return RetT();
00559     }
00560 }

template<class RetT, class StoredObjectT, class ArgObjectT, class ArgsT, class SizeTraitsT = DefaultFunctorSizeTraits>
* void osg::TypedStoredObjectFunctor2< RetT, StoredObjectT, ArgObjectT, ArgsT, SizeTraitsT >::operator= const TypedStoredObjectFunctor2< RetT, StoredObjectT, ArgObjectT, ArgsT, SizeTraitsT > &  source  )  [private]
 

* osg::TypedStoredObjectFunctorBase< TypedFunctor2Base< RetT, ArgObjectT, ArgsT, SizeTraitsT > , TypedSOTraits2< RetT, StoredObjectT, ArgObjectT::ArgsC, ArgsT > >::TypedStoredObjectFunctorBase void   )  [inherited]
 

osg::TypedStoredObjectFunctorBase< TypedFunctor2Base< RetT, ArgObjectT, ArgsT, SizeTraitsT > , TypedSOTraits2< RetT, StoredObjectT, ArgObjectT::ArgsC, ArgsT > >::TypedStoredObjectFunctorBase const TypedStoredObjectFunctorBase< TypedFunctor2Base< RetT, ArgObjectT, ArgsT, SizeTraitsT >, TypedSOTraits2< RetT, StoredObjectT, ArgObjectT::ArgsC, ArgsT > > &  source  )  [inherited]
 

* void osg::TypedStoredObjectFunctorBase< TypedFunctor2Base< RetT, ArgObjectT, ArgsT, SizeTraitsT > , TypedSOTraits2< RetT, StoredObjectT, ArgObjectT::ArgsC, ArgsT > >::setMethod ObjMethodF  pFunc  )  [inherited]
 

void osg::TypedStoredObjectFunctorBase< TypedFunctor2Base< RetT, ArgObjectT, ArgsT, SizeTraitsT > , TypedSOTraits2< RetT, StoredObjectT, ArgObjectT::ArgsC, ArgsT > >::setCalledObject SetObjectT  pObj  )  [inherited]
 

void osg::TypedStoredObjectFunctorBase< TypedFunctor2Base< RetT, ArgObjectT, ArgsT, SizeTraitsT > , TypedSOTraits2< RetT, StoredObjectT, ArgObjectT::ArgsC, ArgsT > >::setObjectAndMethod SetObjectT  pObj,
ObjMethodF  pFunc
[inherited]
 

* osg::TypedFunctor2Base< RetT , ArgObjectT , ArgsT , SizeTraitsT >::TypedFunctor2Base void   )  [inherited]
 

osg::TypedFunctor2Base< RetT , ArgObjectT , ArgsT , SizeTraitsT >::TypedFunctor2Base const TypedFunctor2Base< RetT, ArgObjectT, ArgsT, SizeTraitsT > &  source  )  [inherited]
 

template<class SizeTraitsT>
void osg::TypedFunctorBase< SizeTraitsT >::postCopyConstruct const TypedFunctorBase< SizeTraitsT > &  source  )  [inline, protected, inherited]
 

Definition at line 93 of file OSGTypedFunctorBase.inl.

Referenced by osg::TypedVoidFunctor1Base< CallArgT, SizeTraitsT >::TypedVoidFunctor1Base().

00095 {
00096     memcpy(this, &source, 
00097            sizeof(TypedFunctorBase<SizeTraitsT>)); 
00098 }


Member Data Documentation

template<class RetT, class StoredObjectT, class ArgObjectT, class ArgsT, class SizeTraitsT = DefaultFunctorSizeTraits>
* typedef ArgObjectT::ArgType osg::TypedStoredObjectFunctor2< RetT, StoredObjectT, ArgObjectT, ArgsT, SizeTraitsT >::CallArgType
 

Reimplemented from osg::TypedFunctor2Base< RetT, ArgObjectT, ArgsT, SizeTraitsT >.

Definition at line 775 of file OSGTypedFunctors2.h.

template<class RetT, class StoredObjectT, class ArgObjectT, class ArgsT, class SizeTraitsT = DefaultFunctorSizeTraits>
* typedef TypedSOTraits2<RetT, StoredObjectT, typename ArgObjectT::ArgsC, ArgsT > osg::TypedStoredObjectFunctor2< RetT, StoredObjectT, ArgObjectT, ArgsT, SizeTraitsT >::TypeSOTraits [private]
 

Definition at line 817 of file OSGTypedFunctors2.h.

* typedef TypedSOTraits2< RetT, StoredObjectT, ArgObjectT::ArgsC, ArgsT > ::ObjMethodF osg::TypedStoredObjectFunctorBase< TypedFunctor2Base< RetT, ArgObjectT, ArgsT, SizeTraitsT > , TypedSOTraits2< RetT, StoredObjectT, ArgObjectT::ArgsC, ArgsT > >::ObjMethodF [inherited]
 

Definition at line 295 of file OSGTypedFunctorBase.h.

template<class SizeTraitsT = DefaultFunctorSizeTraits>
* static const UInt8 osg::FunctorBase< SizeTraitsT >::ObjectValid = 0x01 [static, protected, inherited]
 

Definition at line 327 of file OSGFunctorBase.h.

template<class SizeTraitsT = DefaultFunctorSizeTraits>
const UInt8 osg::FunctorBase< SizeTraitsT >::FuncPtrValid = 0x02 [static, protected, inherited]
 

Definition at line 328 of file OSGFunctorBase.h.

template<class SizeTraitsT = DefaultFunctorSizeTraits>
const UInt8 osg::FunctorBase< SizeTraitsT >::FunctorActive = 0x80 [static, protected, inherited]
 

Definition at line 330 of file OSGFunctorBase.h.

template<class SizeTraitsT = DefaultFunctorSizeTraits>
* UInt8 osg::FunctorBase< SizeTraitsT >::_data1[SizeTraitsT::_uiObjectSize] [protected, inherited]
 

Definition at line 337 of file OSGFunctorBase.h.

template<class SizeTraitsT = DefaultFunctorSizeTraits>
UInt8 osg::FunctorBase< SizeTraitsT >::_data2[SizeTraitsT::_uiFuncPointerSize] [protected, inherited]
 

Definition at line 338 of file OSGFunctorBase.h.

template<class SizeTraitsT = DefaultFunctorSizeTraits>
UInt8 osg::FunctorBase< SizeTraitsT >::_flags [protected, inherited]
 

Definition at line 339 of file OSGFunctorBase.h.


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