Static Assertions & Compile-Time Checks
include/test/static_assert.h View source View on GitHubMacros
Section titled “Macros”static_assert_size
Section titled “static_assert_size”#define static_assert_size(type, expected_size) source Expansion
#define static_assert_size(type, expected_size) \
ct_assert_size(type, expected_size) static_assert_align
Section titled “static_assert_align”#define static_assert_align(type, expected_align) source Expansion
#define static_assert_align(type, expected_align) \
ct_assert_align(type, expected_align) static_assert_offset
Section titled “static_assert_offset”#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) ct_assert_disjoint_masks
Section titled “ct_assert_disjoint_masks”#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") static_assert_disjoint_masks
Section titled “static_assert_disjoint_masks”#define static_assert_disjoint_masks(mask1, mask2) source Expansion
#define static_assert_disjoint_masks(mask1, mask2) \
ct_assert_disjoint_masks(mask1, mask2)