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

osg::TypedFunctionFunctor2< RetT, CallArgT, ArgsT, SizeTraitsT > Class Template Reference
[Functors]

#include <OSGTypedFunctors2.h>

Inheritance diagram for osg::TypedFunctionFunctor2< RetT, CallArgT, ArgsT, SizeTraitsT >:

osg::TypedFunctionFunctorBase< TypedFunctor2Base< RetT, CallArgT, ArgsT, SizeTraitsT >, TypedTraits2< RetT, CallArgT, ArgsT > > osg::TypedFunctor2Base< RetT, CallArgT, ArgsT, SizeTraitsT > osg::TypedFunctorBase< SizeTraitsT > osg::FunctorBase< SizeTraitsT > List of all members.

Types

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

Types

typedef TypedFunctionFunctorBase<
TypedFunctor2Base< RetT,
CallArgT, ArgsT, SizeTraitsT >,
TypedTraits2< RetT, CallArgT,
ArgsT > > 
Inherited
typedef TypedFunctionFunctor2<
RetT, CallArgT, ArgsT, SizeTraitsT > 
Self
*typedef TypedTraits2< RetT,
CallArgT, ArgsT
TypeTraits

Public Types

Types
typedef ArgsT::Arg1T Arg1Type

Public Member Functions

TypedFunctionFunctorBase (void)
 TypedFunctionFunctorBase (const TypedFunctionFunctorBase &source)
*void setMethod (FunctionF pFunc)
Constructors
TypedFunctionFunctor2 (void)
 TypedFunctionFunctor2 (const TypedFunctionFunctor2 &source)
Destructor
*virtual ~TypedFunctionFunctor2 (void)
Call
*virtual RetT call (CallArgType obj, Arg1 oArg1)

Public Attributes

*typedef TypedTraits2< RetT,
CallArgT, ArgsT >::FunctionF 
FunctionF

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 TypedFunctionFunctor2 &source)
 prohibit default function (move to 'public' if needed)

Detailed Description

template<class RetT, class CallArgT, class ArgsT, class SizeTraitsT = DefaultFunctorSizeTraits>
class osg::TypedFunctionFunctor2< RetT, CallArgT, ArgsT, SizeTraitsT >

Definition at line 338 of file OSGTypedFunctors2.h.


Member Typedef Documentation

template<class RetT, class CallArgT, class ArgsT, class SizeTraitsT = DefaultFunctorSizeTraits>
typedef ArgsT ::Arg1T osg::TypedFunctionFunctor2< RetT, CallArgT, ArgsT, SizeTraitsT >::Arg1
 

Definition at line 356 of file OSGTypedFunctors2.h.

template<class RetT, class CallArgT, class ArgsT, class SizeTraitsT = DefaultFunctorSizeTraits>
typedef TypedFunctionFunctorBase<TypedFunctor2Base<RetT, CallArgT, ArgsT, SizeTraitsT>, TypedTraits2 <RetT, CallArgT, ArgsT> > osg::TypedFunctionFunctor2< RetT, CallArgT, ArgsT, SizeTraitsT >::Inherited [private]
 

Reimplemented from osg::TypedFunctionFunctorBase< TypedFunctor2Base< RetT, CallArgT, ArgsT, SizeTraitsT >, TypedTraits2< RetT, CallArgT, ArgsT > >.

Definition at line 403 of file OSGTypedFunctors2.h.

template<class RetT, class CallArgT, class ArgsT, class SizeTraitsT = DefaultFunctorSizeTraits>
typedef TypedFunctionFunctor2<RetT, CallArgT, ArgsT, SizeTraitsT > osg::TypedFunctionFunctor2< RetT, CallArgT, ArgsT, SizeTraitsT >::Self [private]
 

Reimplemented from osg::TypedFunctionFunctorBase< TypedFunctor2Base< RetT, CallArgT, ArgsT, SizeTraitsT >, TypedTraits2< RetT, CallArgT, ArgsT > >.

Definition at line 409 of file OSGTypedFunctors2.h.

template<class RetT, class CallArgT, class ArgsT, class SizeTraitsT = DefaultFunctorSizeTraits>
typedef ArgsT ::Arg1T osg::TypedFunctor2Base< RetT, CallArgT, ArgsT, SizeTraitsT >::Arg1Type [inherited]
 

Definition at line 194 of file OSGTypedFunctors2.h.


Constructor & Destructor Documentation

template<class RetT, class CallArgT, class ArgsT, class SizeTraitsT>
osg::TypedFunctionFunctor2< RetT, CallArgT, ArgsT, SizeTraitsT >::TypedFunctionFunctor2 void   )  [inline]
 

Definition at line 221 of file OSGTypedFunctors2.inl.

00221                                                                :
00222     Inherited()
00223 {
00224 }

template<class RetT, class CallArgT, class ArgsT, class SizeTraitsT>
osg::TypedFunctionFunctor2< RetT, CallArgT, ArgsT, SizeTraitsT >::TypedFunctionFunctor2 const TypedFunctionFunctor2< RetT, CallArgT, ArgsT, SizeTraitsT > &  source  )  [inline]
 

Definition at line 234 of file OSGTypedFunctors2.inl.

00235                                          : 
00236 
00237     Inherited(source) 
00238 {
00239 }

template<class RetT, class CallArgT, class ArgsT, class SizeTraitsT>
osg::TypedFunctionFunctor2< RetT, CallArgT, ArgsT, SizeTraitsT >::~TypedFunctionFunctor2 void   )  [inline, virtual]
 

Definition at line 249 of file OSGTypedFunctors2.inl.

00250 {
00251 }


Member Function Documentation

template<class RetT, class CallArgT, class ArgsT, class SizeTraitsT>
RetT osg::TypedFunctionFunctor2< RetT, CallArgT, ArgsT, SizeTraitsT >::call CallArgType  obj,
Arg1  oArg1
[inline, virtual]
 

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

Definition at line 265 of file OSGTypedFunctors2.inl.

00267 { 
00268     typedef typename Self::FunctionF FuncF;
00269 
00270     if(Self::_flags & Self::FuncPtrValid)
00271     {
00272         FuncF pFunc = *((FuncF *) Self::_data2);
00273         
00274         return pFunc(obj, oArg1);
00275     }
00276     else
00277     {
00278         return RetT();
00279     }
00280 }

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

* osg::TypedFunctionFunctorBase< TypedFunctor2Base< RetT, CallArgT, ArgsT, SizeTraitsT > , TypedTraits2< RetT, CallArgT, ArgsT > >::TypedFunctionFunctorBase void   )  [inherited]
 

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

* void osg::TypedFunctionFunctorBase< TypedFunctor2Base< RetT, CallArgT, ArgsT, SizeTraitsT > , TypedTraits2< RetT, CallArgT, ArgsT > >::setMethod FunctionF  pFunc  )  [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 CallArgT, class ArgsT, class SizeTraitsT = DefaultFunctorSizeTraits>
* typedef CallArgT::ArgType osg::TypedFunctionFunctor2< RetT, CallArgT, ArgsT, SizeTraitsT >::CallArgType
 

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

Definition at line 355 of file OSGTypedFunctors2.h.

template<class RetT, class CallArgT, class ArgsT, class SizeTraitsT = DefaultFunctorSizeTraits>
* typedef TypedTraits2<RetT, CallArgT, ArgsT> osg::TypedFunctionFunctor2< RetT, CallArgT, ArgsT, SizeTraitsT >::TypeTraits [private]
 

Definition at line 394 of file OSGTypedFunctors2.h.

* typedef TypedTraits2< RetT, CallArgT, ArgsT > ::FunctionF osg::TypedFunctionFunctorBase< TypedFunctor2Base< RetT, CallArgT, ArgsT, SizeTraitsT > , TypedTraits2< RetT, CallArgT, ArgsT > >::FunctionF [inherited]
 

Definition at line 148 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:49 2005 for OpenSG by  doxygen 1.4.3