| # Gaudi Framework, version v21r6 |

Home |  | Generated: 11 Nov 2009

# Gaudi::Utils::PropertyTypeTraits< T(&)[N]> Struct Template Reference

`#include <CArrayAsProperty.h>`

Inheritance diagram for Gaudi::Utils::PropertyTypeTraits< T(&)[N]>:

[legend]

List of all members.

## Detailed Description

### template<class T, unsigned int N>
struct Gaudi::Utils::PropertyTypeTraits< T(&)[N]>

Definition at line 46 of file CArrayAsProperty.h.

## Public Types
typedef T(& | Type )[N]
typedef T(& | PRef )[N]
typedef T(* | PVal )[N]
typedef const T(& | CRef )[N]
typedef const T(* | CVal )[N]
## Static Public Member Functions
static PVal | new_ ()
| some kind of "default" constructor
static PVal | new_ (Type right)
| some kind of "copy" constructor
static PVal | copy (PVal *right, const bool own)
| some kind of "smart"-pseudo-constructor
static void | dele (PVal right, const bool own)
| "smart" pseudo-destructor
static void | assign (Type v1, PRef v2)
static void | assign (Type v1, CRef v2)
static bool | less (Type v1, Type v2)
| comparison (needed for bounded verifier)
static bool | less (Type v1, CRef v2)
static bool | less (CRef v1, CRef v2)
static bool | less (CRef v1, Type v2)

## Member Typedef Documentation

template<class T, unsigned int N>

typedef T(& Gaudi::Utils::PropertyTypeTraits< T(&)[N]>::Type)[N]

Definition at line 49 of file CArrayAsProperty.h.

template<class T, unsigned int N>

typedef T(& Gaudi::Utils::PropertyTypeTraits< T(&)[N]>::PRef)[N]

Definition at line 50 of file CArrayAsProperty.h.

template<class T, unsigned int N>

typedef T(* Gaudi::Utils::PropertyTypeTraits< T(&)[N]>::PVal)[N]

Definition at line 51 of file CArrayAsProperty.h.

template<class T, unsigned int N>

typedef const T(& Gaudi::Utils::PropertyTypeTraits< T(&)[N]>::CRef)[N]

Definition at line 52 of file CArrayAsProperty.h.

template<class T, unsigned int N>

typedef const T(* Gaudi::Utils::PropertyTypeTraits< T(&)[N]>::CVal)[N]

Definition at line 53 of file CArrayAsProperty.h.

## Member Function Documentation

template<class T, unsigned int N>

static PVal Gaudi::Utils::PropertyTypeTraits< T(&)[N]>::new_ | ( |  | ) | `[inline, static]`

some kind of "default" constructor

Definition at line 58 of file CArrayAsProperty.h.

    00058 { return new T[N] ; }

template<class T, unsigned int N>

static PVal Gaudi::Utils::PropertyTypeTraits< T(&)[N]>::new_ | ( | Type | right | ) | `[inline, static]`

some kind of "copy" constructor

Definition at line 60 of file CArrayAsProperty.h.

    00061         {
    00062           PVal tmp = new_ () ;
    00063           assign ( tmp , right ) ;
    00064           return tmp ;
    00065         }

template<class T, unsigned int N>

static PVal Gaudi::Utils::PropertyTypeTraits< T(&)[N]>::copy | ( | PVal * | right,
|  | const bool | own |
| ) |  |  | `[inline, static]`

some kind of "smart"-pseudo-constructor

Definition at line 67 of file CArrayAsProperty.h.

    00068         {
    00069           if ( !own ) { return right ; }
    00070           return new_ ( *right ) ;
    00071         }

template<class T, unsigned int N>

static void Gaudi::Utils::PropertyTypeTraits< T(&)[N]>::dele | ( | PVal | right,
|  | const bool | own |
| ) |  |  | `[inline, static]`

"smart" pseudo-destructor

Definition at line 73 of file CArrayAsProperty.h.

    00074         { if ( own ) { delete[] right ; } }

template<class T, unsigned int N>

static void Gaudi::Utils::PropertyTypeTraits< T(&)[N]>::assign | ( | Type | v1,
|  | PRef | v2 |
| ) |  |  | `[inline, static]`

Definition at line 77 of file CArrayAsProperty.h.

    00077 { std::copy ( v2 , v2 + N , v1 ) ; }

template<class T, unsigned int N>

static void Gaudi::Utils::PropertyTypeTraits< T(&)[N]>::assign | ( | Type | v1,
|  | CRef | v2 |
| ) |  |  | `[inline, static]`

Definition at line 78 of file CArrayAsProperty.h.

    00078 { std::copy ( v2 , v2 + N , v1 ) ; }

template<class T, unsigned int N>

static bool Gaudi::Utils::PropertyTypeTraits< T(&)[N]>::less | ( | Type | v1,
|  | Type | v2 |
| ) |  |  | `[inline, static]`

comparison (needed for bounded verifier)

Definition at line 80 of file CArrayAsProperty.h.

    00081         { return std::lexicographical_compare ( v1 , v1 + N , v2 , v2 + N ) ; }

template<class T, unsigned int N>

static bool Gaudi::Utils::PropertyTypeTraits< T(&)[N]>::less | ( | Type | v1,
|  | CRef | v2 |
| ) |  |  | `[inline, static]`

Definition at line 82 of file CArrayAsProperty.h.

    00083         { return std::lexicographical_compare ( v1 , v1 + N , v2 , v2 + N ) ; }

template<class T, unsigned int N>

static bool Gaudi::Utils::PropertyTypeTraits< T(&)[N]>::less | ( | CRef | v1,
|  | CRef | v2 |
| ) |  |  | `[inline, static]`

Definition at line 84 of file CArrayAsProperty.h.

    00085         { return std::lexicographical_compare ( v1 , v1 + N , v2 , v2 + N ) ; }

template<class T, unsigned int N>

static bool Gaudi::Utils::PropertyTypeTraits< T(&)[N]>::less | ( | CRef | v1,
|  | Type | v2 |
| ) |  |  | `[inline, static]`

Definition at line 86 of file CArrayAsProperty.h.

    00087         { return std::lexicographical_compare ( v1 , v1 + N , v2 , v2 + N ) ; }

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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v21r6/GaudiKernel/GaudiKernel/CArrayAsProperty.h