ergo
common.h File Reference

Macros for inlining and static assertions and structs for access to matrix elements specifying the layout of matrix entries in memory. More...

#include <cassert>

Go to the source code of this file.

Classes

struct  CompileTimeChecker< bool >
 Class template for use in static asserts. More...
 
struct  CompileTimeChecker< false >
 Specialization of class template for use in static asserts. More...
 
struct  Ordering_row_wise
 Struct for access to matrix elements stored in row wise order. More...
 
struct  Ordering_row_wise::Get< T_row, T_col, T_rows, T_cols >
 
struct  Ordering_col_wise
 Struct for access to matrix elements stored in column wise order. More...
 
struct  Ordering_col_wise::Get< T_row, T_col, T_rows, T_cols >
 

Macros

#define ALWAYS_INLINE   __attribute__((__always_inline__))
 
#define STATIC_ASSERT_ALWAYS(expr, msg)
 
#define STATIC_ASSERT_DEBUG(expr, msg)
 

Detailed Description

Macros for inlining and static assertions and structs for access to matrix elements specifying the layout of matrix entries in memory.

Author
Emanuel H. Rubensson
Date
2009

Macro Definition Documentation

◆ ALWAYS_INLINE

#define ALWAYS_INLINE   __attribute__((__always_inline__))

◆ STATIC_ASSERT_ALWAYS

#define STATIC_ASSERT_ALWAYS (   expr,
  msg 
)
Value:
{ \
class ERROR_##msg {}; \
(CompileTimeChecker<(expr) != 0>(ERROR_##msg())); \
}
Class template for use in static asserts.
Definition: common.h:54

◆ STATIC_ASSERT_DEBUG

#define STATIC_ASSERT_DEBUG (   expr,
  msg 
)