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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v21r11/GaudiKernel/GaudiKernel/BoostArrayAsProperty.h