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

Go to the source code of this file.

Classes

singleton  PndFTSArrayInternal::STATIC_ASSERT_FAILURE< bool >
 
class  PndFTSArrayInternal::STATIC_ASSERT_FAILURE< true >
 
class  PndFTSArray< T, Dim >
 
struct  PndFTSInternal::Padding< Size >
 
struct  PndFTSInternal::Padding< 0 >
 
struct  PndFTSInternal::CacheLineSizeHelperData< T >
 
struct  PndFTSInternal::CacheLineSizeHelperEnums< T >
 
class  PndFTSInternal::CacheLineSizeHelper< T >
 
struct  PndFTSInternal::TypeForAlignmentHelper< T, alignment >
 
struct  PndFTSInternal::TypeForAlignmentHelper< T, PndFTSFullyCacheLineAligned >
 
class  PndFTSInternal::ArrayBoundsCheck
 
class  PndFTSInternal::Allocator< T, alignment >
 
class  PndFTSInternal::Allocator< T, PndFTSFullyCacheLineAligned >
 
class  PndFTSInternal::Allocator< T, 0 >
 
struct  PndFTSInternal::ReturnTypeHelper< T >
 
struct  PndFTSInternal::ReturnTypeHelper< CacheLineSizeHelper< T > >
 
singleton  PndFTSInternal::ArrayBase< T, Dim >
 
class  PndFTSInternal::ArrayBase< T, 1 >
 
class  PndFTSInternal::ArrayBase< T, 2 >
 
class  PndFTSInternal::ArrayBase< T, 3 >
 
class  PndFTSInternal::AlignedData< T, Size, _alignment >
 
class  PndFTSInternal::AlignedData< T, Size, 0 >
 
class  PndFTSArray< T, Dim >
 
class  PndFTSResizableArray< T, Dim, alignment >
 
class  PndFTSArraySize< x, y, z >
 
class  PndFTSFixedArray< T, Size, alignment >
 

Namespaces

 PndFTSArrayInternal
 
 PndFTSInternal
 

Macros

#define PNDFTSARRAY_STATIC_ASSERT_CONCAT_HELPER(a, b)   a##b
 
#define PNDFTSARRAY_STATIC_ASSERT_CONCAT(a, b)   PNDFTSARRAY_STATIC_ASSERT_CONCAT_HELPER(a, b)
 
#define PNDFTSARRAY_STATIC_ASSERT_NC(cond, msg)
 
#define PNDFTSARRAY_STATIC_ASSERT(cond, msg)   PNDFTSARRAY_STATIC_ASSERT_NC(cond, msg); (void) Error_##msg
 
#define BOUNDS_CHECK(x, y)
 

Enumerations

enum  { PndFTSFullyCacheLineAligned = -1 }
 

Detailed Description

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

This file contains the classes PndFTSResizableArray and PndFTSFixedArray with PndFTSArray 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 PndFTSArray.h.

Macro Definition Documentation

#define BOUNDS_CHECK (   x,
  y 
)
#define PNDFTSARRAY_STATIC_ASSERT (   cond,
  msg 
)    PNDFTSARRAY_STATIC_ASSERT_NC(cond, msg); (void) Error_##msg
#define PNDFTSARRAY_STATIC_ASSERT_CONCAT (   a,
  b 
)    PNDFTSARRAY_STATIC_ASSERT_CONCAT_HELPER(a, b)

Definition at line 67 of file PndFTSArray.h.

#define PNDFTSARRAY_STATIC_ASSERT_CONCAT_HELPER (   a,
  b 
)    a##b

Definition at line 66 of file PndFTSArray.h.

#define PNDFTSARRAY_STATIC_ASSERT_NC (   cond,
  msg 
)
Value:
PNDFTSARRAY_STATIC_ASSERT_CONCAT(_STATIC_ASSERTION_FAILED_##msg, __LINE__) Error_##msg
#define PNDFTSARRAY_STATIC_ASSERT_CONCAT(a, b)
Definition: PndFTSArray.h:67

Definition at line 68 of file PndFTSArray.h.

Enumeration Type Documentation

anonymous enum
Enumerator
PndFTSFullyCacheLineAligned 

Definition at line 56 of file PndFTSArray.h.