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

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

#include <OSGTypedFunctors1.h>

Inheritance diagram for osg::TypedFunctionFunctor1< RetT, CallArgT, SizeTraitsT >:

osg::TypedFunctionFunctorBase< TypedFunctor1Base< RetT, CallArgT, SizeTraitsT >, TypedTraits1< RetT, CallArgT > > osg::TypedFunctor1Base< RetT, CallArgT, SizeTraitsT > osg::TypedFunctorBase< SizeTraitsT > osg::FunctorBase< SizeTraitsT > List of all members.

Types

typedef TypedFunctionFunctor1<
RetT, CallArgT, SizeTraitsT > 
Self
*typedef TypedFunctionFunctorBase<
TypedFunctor1Base< RetT,
CallArgT, SizeTraitsT >,
TypedTraits1< RetT, CallArgT > > 
Inherited

Public Member Functions

TypedFunctionFunctorBase (void)
 TypedFunctionFunctorBase (const TypedFunctionFunctorBase &source)
*void setMethod (FunctionF pFunc)
Constructors
TypedFunctionFunctor1 (void)
 TypedFunctionFunctor1 (const TypedFunctionFunctor1 &source)
Destructor
*virtual ~TypedFunctionFunctor1 (void)
Call
*virtual RetT call (CallArgType pObj)

Public Attributes

*typedef TypedTraits1< RetT,
CallArgT >::FunctionF 
FunctionF
Types
*typedef CallArgT::ArgType CallArgType

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

Detailed Description

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

Definition at line 313 of file OSGTypedFunctors1.h.


Member Typedef Documentation

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

Reimplemented from osg::TypedFunctionFunctorBase< TypedFunctor1Base< RetT, CallArgT, SizeTraitsT >, TypedTraits1< RetT, CallArgT > >.

Definition at line 372 of file OSGTypedFunctors1.h.


Constructor & Destructor Documentation

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

Definition at line 203 of file OSGTypedFunctors1.inl.

00203                                                                :
00204     Inherited()
00205 {
00206 }

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

Definition at line 214 of file OSGTypedFunctors1.inl.

00215                                          : 
00216 
00217     Inherited(source) 
00218 {
00219 }

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

Definition at line 227 of file OSGTypedFunctors1.inl.

00228 {
00229 }


Member Function Documentation

template<class RetT, class CallArgT, class SizeTraitsT>
RetT osg::TypedFunctionFunctor1< RetT, CallArgT, SizeTraitsT >::call CallArgType  pObj  )  [inline, virtual]
 

Reimplemented from osg::TypedFunctor1Base< RetT, CallArgT, SizeTraitsT >.

Definition at line 241 of file OSGTypedFunctors1.inl.

00242 { 
00243     typedef typename Self::FunctionF FuncF;
00244 
00245     if(Self::_flags & Self::FuncPtrValid)
00246     {
00247         FuncF pFunc = *((FuncF *) Self::_data2);
00248         
00249         return pFunc(pObj);
00250     }
00251     else
00252     {
00253         return RetT();
00254     }
00255 }

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

* osg::TypedFunctionFunctorBase< TypedFunctor1Base< RetT, CallArgT, SizeTraitsT > , TypedTraits1< RetT, CallArgT > >::TypedFunctionFunctorBase void   )  [inherited]
 

osg::TypedFunctionFunctorBase< TypedFunctor1Base< RetT, CallArgT, SizeTraitsT > , TypedTraits1< RetT, CallArgT > >::TypedFunctionFunctorBase const TypedFunctionFunctorBase< TypedFunctor1Base< RetT, CallArgT, SizeTraitsT >, TypedTraits1< RetT, CallArgT > > &  source  )  [inherited]
 

* void osg::TypedFunctionFunctorBase< TypedFunctor1Base< RetT, CallArgT, SizeTraitsT > , TypedTraits1< RetT, CallArgT > >::setMethod FunctionF  pFunc  )  [inherited]
 

Referenced by osg::osgTypedFunctionFunctor1CPtr().

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 SizeTraitsT = DefaultFunctorSizeTraits>
* typedef CallArgT::ArgType osg::TypedFunctionFunctor1< RetT, CallArgT, SizeTraitsT >::CallArgType
 

Reimplemented from osg::TypedFunctor1Base< RetT, CallArgT, SizeTraitsT >.

Definition at line 328 of file OSGTypedFunctors1.h.

template<class RetT, class CallArgT, class SizeTraitsT = DefaultFunctorSizeTraits>
* typedef TypedFunctionFunctorBase<TypedFunctor1Base<RetT, CallArgT, SizeTraitsT>, TypedTraits1 <RetT, CallArgT> > osg::TypedFunctionFunctor1< RetT, CallArgT, SizeTraitsT >::Inherited [private]
 

Reimplemented from osg::TypedFunctionFunctorBase< TypedFunctor1Base< RetT, CallArgT, SizeTraitsT >, TypedTraits1< RetT, CallArgT > >.

Definition at line 370 of file OSGTypedFunctors1.h.

* typedef TypedTraits1< RetT, CallArgT > ::FunctionF osg::TypedFunctionFunctorBase< TypedFunctor1Base< RetT, CallArgT, SizeTraitsT > , TypedTraits1< RetT, CallArgT > >::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:48 2005 for OpenSG by  doxygen 1.4.3