FairRoot/PandaRoot
Classes | Namespaces | Macros | Enumerations
PndCAArray.h File Reference
#include <assert.h>
#include <cstdlib>
#include <cstring>

Go to the source code of this file.

Classes

class  PndCAArrayInternal::STATIC_ASSERT_FAILURE< bool >
 
class  PndCAArrayInternal::STATIC_ASSERT_FAILURE< true >
 
class  PndCAArray< T, Dim >
 
struct  PndCAInternal::Padding< Size >
 
struct  PndCAInternal::Padding< 0 >
 
struct  PndCAInternal::CacheLineSizeHelperData< T >
 
struct  PndCAInternal::CacheLineSizeHelperEnums< T >
 
class  PndCAInternal::CacheLineSizeHelper< T >
 
struct  PndCAInternal::TypeForAlignmentHelper< T, alignment >
 
struct  PndCAInternal::TypeForAlignmentHelper< T, PndCAFullyCacheLineAligned >
 
class  PndCAInternal::ArrayBoundsCheck
 
class  PndCAInternal::Allocator< T, alignment >
 
class  PndCAInternal::Allocator< T, PndCAFullyCacheLineAligned >
 
class  PndCAInternal::Allocator< T, 0 >
 
struct  PndCAInternal::ReturnTypeHelper< T >
 
struct  PndCAInternal::ReturnTypeHelper< CacheLineSizeHelper< T > >
 
class  PndCAInternal::ArrayBase< T, Dim >
 
class  PndCAInternal::ArrayBase< T, 1 >
 
class  PndCAInternal::ArrayBase< T, 2 >
 
class  PndCAInternal::ArrayBase< T, 3 >
 
class  PndCAInternal::AlignedData< T, Size, _alignment >
 
class  PndCAInternal::AlignedData< T, Size, 0 >
 
class  PndCAArray< T, Dim >
 
class  PndCAResizableArray< T, Dim, alignment >
 
class  PndCAArraySize< x, y, z >
 
class  PndCAFixedArray< T, Size, alignment >
 

Namespaces

 PndCAArrayInternal
 
 PndCAInternal
 

Macros

#define ALIHLTARRAY_STATIC_ASSERT_CONCAT_HELPER(a, b)   a##b
 
#define ALIHLTARRAY_STATIC_ASSERT_CONCAT(a, b)   ALIHLTARRAY_STATIC_ASSERT_CONCAT_HELPER(a, b)
 
#define ALIHLTARRAY_STATIC_ASSERT_NC(cond, msg)
 
#define ALIHLTARRAY_STATIC_ASSERT(cond, msg)   ALIHLTARRAY_STATIC_ASSERT_NC(cond, msg); (void) Error_##msg
 
#define BOUNDS_CHECK(x, y)
 

Enumerations

enum  { PndCAFullyCacheLineAligned = -1 }
 

Detailed Description

Author
Matthias Kretz kretz.nosp@m.@kde.nosp@m..org

This file contains the classes PndCAResizableArray and PndCAFixedArray with PndCAArray as base class. It's a drop-in replacement for C-Arrays. It makes it easy to use variable sized arrays on the stack and pass arrays as arguments to other functions with an optional bounds-checking enabled for the whole time.

Definition in file PndCAArray.h.

Macro Definition Documentation

#define ALIHLTARRAY_STATIC_ASSERT (   cond,
  msg 
)    ALIHLTARRAY_STATIC_ASSERT_NC(cond, msg); (void) Error_##msg
#define ALIHLTARRAY_STATIC_ASSERT_CONCAT (   a,
  b 
)    ALIHLTARRAY_STATIC_ASSERT_CONCAT_HELPER(a, b)

Definition at line 67 of file PndCAArray.h.

#define ALIHLTARRAY_STATIC_ASSERT_CONCAT_HELPER (   a,
  b 
)    a##b

Definition at line 66 of file PndCAArray.h.

#define ALIHLTARRAY_STATIC_ASSERT_NC (   cond,
  msg 
)
Value:
ALIHLTARRAY_STATIC_ASSERT_CONCAT(_STATIC_ASSERTION_FAILED_##msg, __LINE__) Error_##msg
#define ALIHLTARRAY_STATIC_ASSERT_CONCAT(a, b)
Definition: PndCAArray.h:67

Definition at line 68 of file PndCAArray.h.

#define BOUNDS_CHECK (   x,
  y 
)

Enumeration Type Documentation

anonymous enum
Enumerator
PndCAFullyCacheLineAligned 

Definition at line 56 of file PndCAArray.h.