summaryrefslogtreecommitdiff
path: root/src/base/bitunion.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/bitunion.hh')
-rw-r--r--src/base/bitunion.hh14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/base/bitunion.hh b/src/base/bitunion.hh
index 1a32991a8..1eec1e2a8 100644
--- a/src/base/bitunion.hh
+++ b/src/base/bitunion.hh
@@ -86,6 +86,9 @@ class BitfieldTypeImpl : public Base
Type getter(const Storage &storage) const = delete;
void setter(Storage &storage, Type val) = delete;
+ BitfieldTypeImpl() = default;
+ BitfieldTypeImpl(const BitfieldTypeImpl &) = default;
+
Storage __storage;
operator Type () const
@@ -116,6 +119,9 @@ class BitfieldType : public BitfieldTypeImpl<Base>
using typename Impl::Type;
public:
+ BitfieldType() = default;
+ BitfieldType(const BitfieldType &) = default;
+
operator Type () const { return Impl::operator Type(); }
Type operator=(const Type val) { return Impl::operator=(val); }
Type
@@ -133,6 +139,9 @@ class BitfieldROType : public BitfieldTypeImpl<Base>
using Impl = BitfieldTypeImpl<Base>;
using typename Impl::Type;
+ BitfieldROType() = default;
+ BitfieldROType(const BitfieldROType &) = default;
+
Type operator=(BitfieldROType<Base> const &other) = delete;
operator Type () const { return Impl::operator Type(); }
};
@@ -146,6 +155,9 @@ class BitfieldWOType : public BitfieldTypeImpl<Base>
using typename Impl::Type;
public:
+ BitfieldWOType() = default;
+ BitfieldWOType(const BitfieldWOType &) = default;
+
Type operator=(const Type val) { return Impl::operator=(val); }
Type
operator=(BitfieldWOType<Base> const & other)
@@ -244,6 +256,8 @@ namespace BitfieldBackend
Base::__storage = val;
}
+ BitUnionOperators(const BitUnionOperators &) = default;
+
BitUnionOperators() {}
operator const typename Base::__StorageType () const