FreeFOAM The Cross-Platform CFD Toolkit
StaticAssert.H File Reference

Detailed Description

Definition in file StaticAssert.H.

+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

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

Namespaces

namespace  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)

Macro Definition Documentation

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

Definition at line 66 of file StaticAssert.H.

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

Definition at line 67 of file StaticAssert.H.

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

Definition at line 68 of file StaticAssert.H.

#define StaticAssert (   Test)
Value:
typedef ::Foam::StaticAssertionTest \
< \
sizeof( ::Foam::StaticAssertionFailed< ((Test) ? true : false) > ) \
> StaticAssertMacro(StaticAssertionTest, __LINE__)

Assert that some test is true at compile-time

Definition at line 76 of file StaticAssert.H.