aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/common/bit_field.h
diff options
context:
space:
mode:
authorGravatar Tony Wasserka <NeoBrainX@gmail.com>2014-05-31 19:04:35 +0200
committerGravatar Tony Wasserka <NeoBrainX@gmail.com>2014-07-16 12:46:37 +0200
commitcd1d5786d998efdf18e9938db957f82331bab579 (patch)
tree91be49550af2d43d951954738405a04261ff4fb5 /src/common/bit_field.h
parent15ab5382a553a47f21fe7283010ccdb342c0ead6 (diff)
BitField: Add a static_assert.
Being able to store BitField within unions requires BitField to be of standard layout, which in turn is only given if the underlying type is also has standard layout.
Diffstat (limited to 'src/common/bit_field.h')
-rw-r--r--src/common/bit_field.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/common/bit_field.h b/src/common/bit_field.h
index c28e722c..52f0d8be 100644
--- a/src/common/bit_field.h
+++ b/src/common/bit_field.h
@@ -189,5 +189,6 @@ private:
static_assert(position < 8 * sizeof(T), "Invalid position");
static_assert(bits <= 8 * sizeof(T), "Invalid number of bits");
static_assert(bits > 0, "Invalid number of bits");
+ static_assert(std::is_standard_layout<T>::value, "Invalid base type");
};
#pragma pack()