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

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

#include </scratch/z5/marcocle/GaudiDocs/lhcb-release/825/GAUDI/GAUDI_v26r3/InstallArea/x86_64-slc6-gcc48-opt/include/GaudiKernel/PropertyTypeTraits.h>

Public Types

typedef TYPE Type
 
typedef const TYPE & PRef
 
typedef TYPE * PVal
 
typedef const TYPE * CVal
 
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 More...
 
static PVal new_ (const Type &right)
 some kind of copy constructor More...
 
static void dele (PVal right, const bool own)
 "smart" destructor More...
 
static PVal copy (PVal *right, const bool own)
 "smart" copy-constructor More...
 
static void assign (Type &v1, PRef v2)
 assignment More...
 
static bool less (const Type &v1, const Type &v2)
 comparison (needed for bounded verifier) More...
 
static PVal new_ ()
 some kind of default constructor More...
 
static PVal new_ (const Type &right)
 some kind of copy constructor More...
 
static void dele (PVal right, const bool own)
 "smart" destructor More...
 
static PVal copy (PVal *right, const bool own)
 "smart" copy-constructor More...
 
static void assign (Type &v1, PRef v2)
 assignment More...
 
static bool less (const Type &v1, const Type &v2)
 comparison (needed for bounded verifier) More...
 

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:

  • "default constructor"
  • "smart copy-constructor"
  • "smart destructor"
  • "assign"
  • "less"

For implementation of SimplePropertyRef<TYPE> one needs:

  • "copy constructor"
  • "smart copy-constructor - "smart destructor" - "assign" - "less"

For all cases one needs to have valid functions:

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-15

Definition at line 46 of file PropertyTypeTraits.h.

Member Typedef Documentation

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

Definition at line 52 of file PropertyTypeTraits.h.

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

Definition at line 52 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 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 TYPE* Gaudi::Utils::PropertyTypeTraits< TYPE >::PVal

Definition at line 51 of file PropertyTypeTraits.h.

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

Definition at line 49 of file PropertyTypeTraits.h.

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

Definition at line 49 of file PropertyTypeTraits.h.

Member Function Documentation

template<class TYPE>
static void Gaudi::Utils::PropertyTypeTraits< TYPE >::assign ( Type v1,
PRef  v2 
)
inlinestatic

assignment

Definition at line 68 of file PropertyTypeTraits.h.

68 { v1 = v2 ; }
template<class TYPE>
static void Gaudi::Utils::PropertyTypeTraits< TYPE >::assign ( Type v1,
PRef  v2 
)
inlinestatic

assignment

Definition at line 68 of file PropertyTypeTraits.h.

68 { v1 = v2 ; }
template<class TYPE>
static PVal Gaudi::Utils::PropertyTypeTraits< TYPE >::copy ( PVal right,
const bool  own 
)
inlinestatic

"smart" copy-constructor

Definition at line 62 of file PropertyTypeTraits.h.

63  {
64  if ( !own ) { return right ; }
65  return new_ ( *right ) ;
66  }
static PVal new_()
some kind of default constructor
template<class TYPE>
static PVal Gaudi::Utils::PropertyTypeTraits< TYPE >::copy ( PVal right,
const bool  own 
)
inlinestatic

"smart" copy-constructor

Definition at line 62 of file PropertyTypeTraits.h.

63  {
64  if ( !own ) { return right ; }
65  return new_ ( *right ) ;
66  }
static PVal new_()
some kind of default constructor
template<class TYPE>
static void Gaudi::Utils::PropertyTypeTraits< TYPE >::dele ( PVal  right,
const bool  own 
)
inlinestatic

"smart" destructor

Definition at line 59 of file PropertyTypeTraits.h.

60  { if ( own ) { delete right ; } }
template<class TYPE>
static void Gaudi::Utils::PropertyTypeTraits< TYPE >::dele ( PVal  right,
const bool  own 
)
inlinestatic

"smart" destructor

Definition at line 59 of file PropertyTypeTraits.h.

60  { if ( own ) { delete right ; } }
template<class TYPE>
static bool Gaudi::Utils::PropertyTypeTraits< TYPE >::less ( const Type v1,
const Type v2 
)
inlinestatic

comparison (needed for bounded verifier)

Definition at line 70 of file PropertyTypeTraits.h.

71  { return v1 < v2 ; }
template<class TYPE>
static bool Gaudi::Utils::PropertyTypeTraits< TYPE >::less ( const Type v1,
const Type v2 
)
inlinestatic

comparison (needed for bounded verifier)

Definition at line 70 of file PropertyTypeTraits.h.

71  { return v1 < v2 ; }
template<class TYPE>
static PVal Gaudi::Utils::PropertyTypeTraits< TYPE >::new_ ( )
inlinestatic

some kind of default constructor

Definition at line 55 of file PropertyTypeTraits.h.

55 { return new Type( ) ; }
template<class TYPE>
static PVal Gaudi::Utils::PropertyTypeTraits< TYPE >::new_ ( )
inlinestatic

some kind of default constructor

Definition at line 55 of file PropertyTypeTraits.h.

55 { return new Type( ) ; }
template<class TYPE>
static PVal Gaudi::Utils::PropertyTypeTraits< TYPE >::new_ ( const Type right)
inlinestatic

some kind of copy constructor

Definition at line 57 of file PropertyTypeTraits.h.

57 { return new Type(right) ; }
template<class TYPE>
static PVal Gaudi::Utils::PropertyTypeTraits< TYPE >::new_ ( const Type right)
inlinestatic

some kind of copy constructor

Definition at line 57 of file PropertyTypeTraits.h.

57 { return new Type(right) ; }

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