| The Gaudi Framework v27r1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Static Public Member Functions | List of all members
Gaudi::Utils::PropertyTypeTraits< TYPE > Struct Template Reference

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

`#include <GaudiKernel/PropertyTypeTraits.h>`

## 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 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:

- StatusCode Gaudi::Parsers::parse ( TYPE& , const std::string& )
- std::ostream& Gaudi::Utils::toStream ( cost TYPE& , std::ostream& )

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 44 of file PropertyTypeTraits.h.

## Member Typedef Documentation

template<class TYPE>

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

Definition at line 50 of file PropertyTypeTraits.h.

template<class TYPE>

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

Definition at line 48 of file PropertyTypeTraits.h.

template<class TYPE>

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

Definition at line 49 of file PropertyTypeTraits.h.

template<class TYPE>

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

Definition at line 47 of file PropertyTypeTraits.h.

## Member Function Documentation

template<class TYPE>

static void Gaudi::Utils::PropertyTypeTraits< TYPE >::assign | ( | Type & | v1,
|  | PRef | v2
| ) |  |
| inline static

assignment

Definition at line 66 of file PropertyTypeTraits.h.

66 { v1 = v2 ; }
template<class TYPE>

static PVal Gaudi::Utils::PropertyTypeTraits< TYPE >::copy | ( | PVal * | right,
|  | const bool | own
| ) |  |
| inline static

"smart" copy-constructor

Definition at line 60 of file PropertyTypeTraits.h.

61 {
62 if ( !own ) { return right ; }
63 return new_ ( *right ) ;
64 }
Gaudi::Utils::PropertyTypeTraits::new_
static PVal new_()
some kind of default constructor
Definition: PropertyTypeTraits.h:53
std::right
T right(T...args)
template<class TYPE>

static void Gaudi::Utils::PropertyTypeTraits< TYPE >::dele | ( | PVal | right,
|  | const bool | own
| ) |  |
| inline static

"smart" destructor

Definition at line 57 of file PropertyTypeTraits.h.

58 { if ( own ) { delete right ; } }
std::right
T right(T...args)
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 68 of file PropertyTypeTraits.h.

69 { return v1 < v2 ; }
template<class TYPE>

static PVal Gaudi::Utils::PropertyTypeTraits< TYPE >::new_ | ( |  | ) |
| inline static

some kind of default constructor

Definition at line 53 of file PropertyTypeTraits.h.

53 { return new Type( ) ; }
Gaudi::Utils::PropertyTypeTraits::Type
TYPE Type
Definition: PropertyTypeTraits.h:47
template<class TYPE>

static PVal Gaudi::Utils::PropertyTypeTraits< TYPE >::new_ | ( | const Type & | right | ) |
| inline static

some kind of copy constructor

Definition at line 55 of file PropertyTypeTraits.h.

55 { return new Type(right) ; }
Gaudi::Utils::PropertyTypeTraits::Type
TYPE Type
Definition: PropertyTypeTraits.h:47

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

- GaudiKernel/GaudiKernel/PropertyTypeTraits.h