aboutsummaryrefslogtreecommitdiffhomepage
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
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.
-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()