| 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< std::array< T, N > > Struct Template Reference

the specialization of property-traits for class std::array to take care the non-trivial assignements and constructors for this class More...

`#include <GaudiKernel/StdArrayAsProperty.h>`

## Public Types
typedef std::array< T, N > | TYPE
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 NON-TRIVIAL More...
static PVal | new_ (const Type &right)
| some kind of copy constructor NON-TRIVIAL 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, const Type &v2)
| assignement NON-TRIVIAL More...
static bool | less (const Type &v1, const Type &v2)
| comparison (needed for bounded verifier) NON-TRIVIAL More...

## Detailed Description

### template<class T, std::size_t N>
struct Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >

the specialization of property-traits for class std::array to take care the non-trivial assignements and constructors for this class

Author
  Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl

Date
  2009-09-16

Definition at line 120 of file StdArrayAsProperty.h.

## Member Typedef Documentation

template<class T , std::size_t N>

typedef const TYPE* Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::CVal

Definition at line 127 of file StdArrayAsProperty.h.

template<class T , std::size_t N>

typedef const TYPE& Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::PRef

Definition at line 125 of file StdArrayAsProperty.h.

template<class T , std::size_t N>

typedef TYPE* Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::PVal

Definition at line 126 of file StdArrayAsProperty.h.

template<class T , std::size_t N>

typedef std::array<T,N> Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::TYPE

Definition at line 123 of file StdArrayAsProperty.h.

template<class T , std::size_t N>

typedef TYPE Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::Type

Definition at line 124 of file StdArrayAsProperty.h.

## Member Function Documentation

template<class T , std::size_t N>

static void Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::assign | ( | Type & | v1,
|  | const Type & | v2
| ) |  |
| inline static

assignement NON-TRIVIAL

Definition at line 153 of file StdArrayAsProperty.h.

154 { std::copy ( v2.begin() , v2.end() , v1.begin() ) ; }
std::copy
T copy(T...args)
template<class T , std::size_t N>

static PVal Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::copy | ( | PVal | right,
|  | const bool | own
| ) |  |
| inline static

"smart" copy-constructor

Definition at line 147 of file StdArrayAsProperty.h.

148 {
149 if ( !own ) { return right ; }
150 return new_ ( *right ) ;
151 }
std::right
T right(T...args)
Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::new_
static PVal new_()
some kind of default constructor NON-TRIVIAL
Definition: StdArrayAsProperty.h:130
template<class T , std::size_t N>

static void Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::dele | ( | PVal | right,
|  | const bool | own
| ) |  |
| inline static

"smart" destructor

Definition at line 144 of file StdArrayAsProperty.h.

145 { if ( own ) { delete right ; } }
std::right
T right(T...args)
template<class T , std::size_t N>

static bool Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::less | ( | const Type & | v1,
|  | const Type & | v2
| ) |  |
| inline static

comparison (needed for bounded verifier) NON-TRIVIAL

Definition at line 156 of file StdArrayAsProperty.h.

157 { return std::lexicographical_compare
158 ( v1.begin() , v1.end () , v2.begin() , v2.end() ) ; }
std::lexicographical_compare
T lexicographical_compare(T...args)
template<class T , std::size_t N>

static PVal Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::new_ | ( |  | ) |
| inline static

some kind of default constructor NON-TRIVIAL

Definition at line 130 of file StdArrayAsProperty.h.

131 {
132 PVal tmp = new Type ;
133 std::fill_n ( tmp->begin() , N , T() ) ;
134 return tmp ;
135 }
Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::PVal
TYPE * PVal
Definition: StdArrayAsProperty.h:126
IOTest.N
int N
Definition: IOTest.py:90
std::fill_n
T fill_n(T...args)
Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::Type
TYPE Type
Definition: StdArrayAsProperty.h:124
template<class T , std::size_t N>

static PVal Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::new_ | ( | const Type & | right | ) |
| inline static

some kind of copy constructor NON-TRIVIAL

Definition at line 137 of file StdArrayAsProperty.h.

138 {
139 PVal tmp = new Type ;
140 assign ( *tmp , right ) ;
141 return tmp ;
142 }
Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::PVal
TYPE * PVal
Definition: StdArrayAsProperty.h:126
Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::Type
TYPE Type
Definition: StdArrayAsProperty.h:124
Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::assign
static void assign(Type &v1, const Type &v2)
assignement NON-TRIVIAL
Definition: StdArrayAsProperty.h:153

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

- GaudiKernel/GaudiKernel/StdArrayAsProperty.h