Since this type is now accessible through a clean interface, hide it
from anybody that tries to peak around the curtain.
Change-Id: I1257b6675a45b8648be459ad8e8d0f27a6feee6b
Reviewed-on: https://gem5-review.googlesource.com/7205
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
class BitfieldUnderlyingClasses##name : \
public BitfieldBackend::BitfieldTypes<type> \
{ \
- public: \
+ protected: \
typedef type __StorageType; \
+ friend BitfieldBackend::BitUnionBaseType< \
+ BitfieldBackend::BitUnionOperators< \
+ BitfieldUnderlyingClasses##name> >; \
+ friend BitfieldBackend::BitUnionBaseType< \
+ BitfieldUnderlyingClasses##name>; \
+ public: \
union { \
type __storage;
template <typename T>
using BitUnionBaseType = typename BitfieldBackend::BitUnionBaseType<T>::Type;
+
+//An STL style hash structure for hashing BitUnions based on their base type.
namespace std
{
template <typename T>