Skip to content

Static Assertions & Compile-Time Checks

include/test/static_assert.h View source View on GitHub
#define static_assert_size(type, expected_size)
source
Expansion
#define static_assert_size(type, expected_size) \
    ct_assert_size(type, expected_size)
#define static_assert_align(type, expected_align)
source
Expansion
#define static_assert_align(type, expected_align) \
    ct_assert_align(type, expected_align)
#define static_assert_offset(type, member, expected_offset)
source
Expansion
#define static_assert_offset(type, member, expected_offset) \
    ct_assert_offset(type, member, expected_offset)
#define ct_assert_disjoint_masks(mask1, mask2)
source
Expansion
#define ct_assert_disjoint_masks(mask1, mask2) \
    static_assert(((mask1) & (mask2)) == 0, \
                  "masks " #mask1 " and " #mask2 " overlap")
#define static_assert_disjoint_masks(mask1, mask2)
source
Expansion
#define static_assert_disjoint_masks(mask1, mask2) \
    ct_assert_disjoint_masks(mask1, mask2)