summaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/bit_field.h8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/common/bit_field.h b/src/common/bit_field.h
index bd9e21e1e..639efe22d 100644
--- a/src/common/bit_field.h
+++ b/src/common/bit_field.h
@@ -112,12 +112,6 @@
template <std::size_t Position, std::size_t Bits, typename T, typename EndianTag = LETag>
struct BitField {
private:
- // We hide the copy assigment operator here, because the default copy
- // assignment would copy the full storage value, rather than just the bits
- // relevant to this particular bit field.
- // We don't delete it because we want BitField to be trivially copyable.
- constexpr BitField& operator=(const BitField&) = default;
-
// UnderlyingType is T for non-enum types and the underlying type of T if
// T is an enumeration. Note that T is wrapped within an enable_if in the
// former case to workaround compile errors which arise when using
@@ -131,6 +125,8 @@ private:
using StorageTypeWithEndian = typename AddEndian<StorageType, EndianTag>::type;
public:
+ BitField& operator=(const BitField&) = default;
+
/// Constants to allow limited introspection of fields if needed
static constexpr std::size_t position = Position;
static constexpr std::size_t bits = Bits;