Gaudi Framework, version v21r11

Home   Generated: 30 Sep 2010

Gaudi::Utils::PropertyTypeTraits< boost::array< T, N > > Struct Template Reference

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

#include <BoostArrayAsProperty.h>

List of all members.

Public Types

typedef boost::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
static PVal new_ (const Type &right)
 some kind of copy constructor NON-TRIVIAL
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, const Type &v2)
 assignement NON-TRIVIAL
static bool less (const Type &v1, const Type &v2)
 comparison (needed for bounded verifier) NON-TRIVIAL


Detailed Description

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

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

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

Definition at line 123 of file BoostArrayAsProperty.h.


Member Typedef Documentation

template<class T, std::size_t N>
typedef boost::array<T,N> Gaudi::Utils::PropertyTypeTraits< boost::array< T, N > >::TYPE

Definition at line 126 of file BoostArrayAsProperty.h.

template<class T, std::size_t N>
typedef TYPE Gaudi::Utils::PropertyTypeTraits< boost::array< T, N > >::Type

Definition at line 127 of file BoostArrayAsProperty.h.

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

Definition at line 128 of file BoostArrayAsProperty.h.

template<class T, std::size_t N>
typedef TYPE* Gaudi::Utils::PropertyTypeTraits< boost::array< T, N > >::PVal

Definition at line 129 of file BoostArrayAsProperty.h.

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

Definition at line 130 of file BoostArrayAsProperty.h.


Member Function Documentation

template<class T, std::size_t N>
static PVal Gaudi::Utils::PropertyTypeTraits< boost::array< T, N > >::new_ (  )  [inline, static]

some kind of default constructor NON-TRIVIAL

Definition at line 133 of file BoostArrayAsProperty.h.

00134       {
00135         PVal tmp = new Type ;
00136         std::fill_n ( tmp->begin() , N , T() ) ;
00137         return tmp ; 
00138       }

template<class T, std::size_t N>
static PVal Gaudi::Utils::PropertyTypeTraits< boost::array< T, N > >::new_ ( const Type &  right  )  [inline, static]

some kind of copy constructor NON-TRIVIAL

Definition at line 140 of file BoostArrayAsProperty.h.

00141       { 
00142         PVal tmp = new Type   ;
00143         assign ( *tmp , right ) ;
00144         return tmp ;
00145       }

template<class T, std::size_t N>
static void Gaudi::Utils::PropertyTypeTraits< boost::array< T, N > >::dele ( PVal  right,
const bool  own 
) [inline, static]

"smart" destructor

Definition at line 147 of file BoostArrayAsProperty.h.

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

template<class T, std::size_t N>
static PVal Gaudi::Utils::PropertyTypeTraits< boost::array< T, N > >::copy ( PVal  right,
const bool  own 
) [inline, static]

"smart" copy-constructor

Definition at line 150 of file BoostArrayAsProperty.h.

00151       {
00152         if ( !own ) { return right ; }
00153         return new_ ( *right ) ;
00154       }   

template<class T, std::size_t N>
static void Gaudi::Utils::PropertyTypeTraits< boost::array< T, N > >::assign ( Type &  v1,
const Type &  v2 
) [inline, static]

assignement NON-TRIVIAL

Definition at line 156 of file BoostArrayAsProperty.h.

00157       { std::copy ( v2.begin() , v2.end() , v1.begin() ) ; }

template<class T, std::size_t N>
static bool Gaudi::Utils::PropertyTypeTraits< boost::array< T, N > >::less ( const Type &  v1,
const Type &  v2 
) [inline, static]

comparison (needed for bounded verifier) NON-TRIVIAL

Definition at line 159 of file BoostArrayAsProperty.h.

00160       { return std::lexicographical_compare 
00161           ( v1.begin() , v1.end () , v2.begin()  , v2.end() ) ; }


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

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