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 </scratch/z5/marcocle/GaudiDocs/lhcb-release/996/GAUDI/GAUDI_v26r4/InstallArea/x86_64-slc6-gcc48-opt/include/GaudiKernel/StdArrayAsProperty.h>

Public Types

typedef std::array< T, N > TYPE
 
typedef TYPE Type
 
typedef const TYPEPRef
 
typedef TYPEPVal
 
typedef const TYPECVal
 
typedef std::array< T, N > TYPE
 
typedef TYPE Type
 
typedef const TYPEPRef
 
typedef TYPEPVal
 
typedef const TYPECVal
 

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

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 
)
inlinestatic

assignement NON-TRIVIAL

Definition at line 153 of file StdArrayAsProperty.h.

154  { std::copy ( v2.begin() , v2.end() , v1.begin() ) ; }
template<class T , std::size_t N>
static void Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::assign ( Type v1,
const Type v2 
)
inlinestatic

assignement NON-TRIVIAL

Definition at line 153 of file StdArrayAsProperty.h.

154  { std::copy ( v2.begin() , v2.end() , v1.begin() ) ; }
template<class T , std::size_t N>
static PVal Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::copy ( PVal  right,
const bool  own 
)
inlinestatic

"smart" copy-constructor

Definition at line 147 of file StdArrayAsProperty.h.

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

"smart" copy-constructor

Definition at line 147 of file StdArrayAsProperty.h.

148  {
149  if ( !own ) { return right ; }
150  return new_ ( *right ) ;
151  }
static PVal new_()
some kind of default constructor NON-TRIVIAL
template<class T , std::size_t N>
static void Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::dele ( PVal  right,
const bool  own 
)
inlinestatic

"smart" destructor

Definition at line 144 of file StdArrayAsProperty.h.

145  { if ( own ) { delete right ; } }
template<class T , std::size_t N>
static void Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::dele ( PVal  right,
const bool  own 
)
inlinestatic

"smart" destructor

Definition at line 144 of file StdArrayAsProperty.h.

145  { if ( own ) { delete right ; } }
template<class T , std::size_t N>
static bool Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::less ( const Type v1,
const Type v2 
)
inlinestatic

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() ) ; }
template<class T , std::size_t N>
static bool Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::less ( const Type v1,
const Type v2 
)
inlinestatic

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() ) ; }
template<class T , std::size_t N>
static PVal Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::new_ ( )
inlinestatic

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  }
int N
Definition: IOTest.py:90
template<class T , std::size_t N>
static PVal Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::new_ ( )
inlinestatic

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  }
int N
Definition: IOTest.py:90
template<class T , std::size_t N>
static PVal Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::new_ ( const Type right)
inlinestatic

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  }
static void assign(Type &v1, const Type &v2)
assignement NON-TRIVIAL
template<class T , std::size_t N>
static PVal Gaudi::Utils::PropertyTypeTraits< std::array< T, N > >::new_ ( const Type right)
inlinestatic

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  }
static void assign(Type &v1, const Type &v2)
assignement NON-TRIVIAL

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