Gaudi Framework, version v21r11

Home   Generated: 30 Sep 2010

Gaudi::Utils::PropertyTypeTraits< TYPE > Struct Template Reference

helper structure to define the types for properties More...

#include <PropertyTypeTraits.h>

List of all members.

Public Types

typedef TYPE Type
typedef const TYPE & PRef
typedef TYPE * PVal
typedef const TYPE * CVal

Static Public Member Functions

static PVal new_ ()
 some kind of default constructor
static PVal new_ (const Type &right)
 some kind of copy constructor
static void dele (PVal right, const bool own)
 "smart" destructor
static PVal copy (PVal *right, const bool own)
 "smart" copy-constructor
static void assign (Type &v1, PRef v2)
 assignment
static bool less (const Type &v1, const Type &v2)
 comparison (needed for bounded verifier)


Detailed Description

template<class TYPE>
struct Gaudi::Utils::PropertyTypeTraits< TYPE >

helper structure to define the types for properties

For implementation of SimpleProperty<TYPE> one needs:

For implementation of SimplePropertyRef<TYPE> one needs:

For all cases one needs to have valid functions:

Author:
Vanya BELYAEV Ivan.Belyaev@nikhef.nl
Date:
2009-09-15

Definition at line 46 of file PropertyTypeTraits.h.


Member Typedef Documentation

template<class TYPE>
typedef TYPE Gaudi::Utils::PropertyTypeTraits< TYPE >::Type

Definition at line 49 of file PropertyTypeTraits.h.

template<class TYPE>
typedef const TYPE& Gaudi::Utils::PropertyTypeTraits< TYPE >::PRef

Definition at line 50 of file PropertyTypeTraits.h.

template<class TYPE>
typedef TYPE* Gaudi::Utils::PropertyTypeTraits< TYPE >::PVal

Definition at line 51 of file PropertyTypeTraits.h.

template<class TYPE>
typedef const TYPE* Gaudi::Utils::PropertyTypeTraits< TYPE >::CVal

Definition at line 52 of file PropertyTypeTraits.h.


Member Function Documentation

template<class TYPE>
static PVal Gaudi::Utils::PropertyTypeTraits< TYPE >::new_ (  )  [inline, static]

some kind of default constructor

Definition at line 55 of file PropertyTypeTraits.h.

00055 { return new Type(     ) ; }

template<class TYPE>
static PVal Gaudi::Utils::PropertyTypeTraits< TYPE >::new_ ( const Type &  right  )  [inline, static]

some kind of copy constructor

Definition at line 57 of file PropertyTypeTraits.h.

00057 { return new Type(right) ; }

template<class TYPE>
static void Gaudi::Utils::PropertyTypeTraits< TYPE >::dele ( PVal  right,
const bool  own 
) [inline, static]

"smart" destructor

Definition at line 59 of file PropertyTypeTraits.h.

00060       { if ( own ) { delete right ; } }

template<class TYPE>
static PVal Gaudi::Utils::PropertyTypeTraits< TYPE >::copy ( PVal *  right,
const bool  own 
) [inline, static]

"smart" copy-constructor

Definition at line 62 of file PropertyTypeTraits.h.

00063       {
00064         if ( !own ) { return right ; }
00065         return new_ ( *right ) ;
00066       }    

template<class TYPE>
static void Gaudi::Utils::PropertyTypeTraits< TYPE >::assign ( Type &  v1,
PRef  v2 
) [inline, static]

assignment

Definition at line 68 of file PropertyTypeTraits.h.

00068 { v1 = v2 ; }

template<class TYPE>
static bool Gaudi::Utils::PropertyTypeTraits< TYPE >::less ( const Type &  v1,
const Type &  v2 
) [inline, static]

comparison (needed for bounded verifier)

Definition at line 70 of file PropertyTypeTraits.h.

00071       { return v1 < v2 ; }


The documentation for this struct was generated from the following file:

Generated at Thu Sep 30 09:58:58 2010 for Gaudi Framework, version v21r11 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004