Classes | Namespaces | Macros
StaticAssert.H File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  StaticAssertionFailed< Truth >
 Forward declaration of StaticAssertionFailed. More...
 
class  StaticAssertionFailed< true >
 Specialization for successful assertions. More...
 
class  StaticAssertionTest< Test >
 Helper class for handling static assertions. More...
 

Namespaces

 Foam
 Namespace for OpenFOAM.
 

Macros

#define StaticAssertMacro(X, Y)   StaticAssertMacro1(X,Y)
 
#define StaticAssertMacro1(X, Y)   StaticAssertMacro2(X,Y)
 
#define StaticAssertMacro2(X, Y)   X##Y
 
#define StaticAssert(Test)
 

Detailed Description

Original source file StaticAssert.H

Definition in file StaticAssert.H.

Macro Definition Documentation

#define StaticAssertMacro (   X,
  Y 
)    StaticAssertMacro1(X,Y)

Definition at line 67 of file StaticAssert.H.

#define StaticAssertMacro1 (   X,
  Y 
)    StaticAssertMacro2(X,Y)

Definition at line 68 of file StaticAssert.H.

#define StaticAssertMacro2 (   X,
  Y 
)    X##Y

Definition at line 69 of file StaticAssert.H.

#define StaticAssert (   Test)
Value:
typedef ::Foam::StaticAssertionTest \
< \
sizeof( ::Foam::StaticAssertionFailed< ((Test) ? true : false) > ) \
> StaticAssertMacro(StaticAssertionTest, __LINE__)
Forward declaration of StaticAssertionFailed.
Definition: StaticAssert.H:42
#define StaticAssertMacro(X, Y)
Definition: StaticAssert.H:67

Assert that some test is true at compile-time

Definition at line 77 of file StaticAssert.H.