gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Macros
bitunion.hh File Reference
#include "base/bitfield.hh"

Go to the source code of this file.

Classes

class  BitfieldBackend::BitfieldBase< Data >
 
class  BitfieldBackend::RegularBitfieldTypes< Type >
 
class  BitfieldBackend::RegularBitfieldTypes< Type >::Bitfield< first, last >
 
class  BitfieldBackend::RegularBitfieldTypes< Type >::BitfieldRO< first, last >
 
class  BitfieldBackend::RegularBitfieldTypes< Type >::BitfieldWO< first, last >
 
class  BitfieldBackend::SignedBitfieldTypes< Type >
 
class  BitfieldBackend::SignedBitfieldTypes< Type >::SignedBitfield< first, last >
 
class  BitfieldBackend::SignedBitfieldTypes< Type >::SignedBitfieldRO< first, last >
 
class  BitfieldBackend::SignedBitfieldTypes< Type >::SignedBitfieldWO< first, last >
 
class  BitfieldBackend::BitfieldTypes< Type >
 
class  BitfieldBackend::BitUnionOperators< Type, Base >
 

Namespaces

 BitfieldBackend
 

Macros

#define __BitUnion(type, name)
 
#define EndBitUnion(name)
 
#define __SubBitUnion(fieldType, first, last, name)
 
#define EndSubBitUnion(name)
 
#define SubBitUnion(name, first, last)   __SubBitUnion(Bitfield, first, last, name)
 
#define SignedSubBitUnion(name, first, last)   __SubBitUnion(SignedBitfield, first, last, name)
 
#define BitUnion(type, name)   __BitUnion(type, name)
 
#define BitUnion64(name)   __BitUnion(uint64_t, name)
 
#define BitUnion32(name)   __BitUnion(uint32_t, name)
 
#define BitUnion16(name)   __BitUnion(uint16_t, name)
 
#define BitUnion8(name)   __BitUnion(uint8_t, name)
 

Macro Definition Documentation

#define __BitUnion (   type,
  name 
)
Value:
class BitfieldUnderlyingClasses##name : \
{ \
public: \
typedef type __DataType; \
union { \
type __data;\
const std::string & name()
Definition: trace.cc:49
type
Definition: misc.hh:728

Definition at line 267 of file bitunion.hh.

#define __SubBitUnion (   fieldType,
  first,
  last,
  name 
)
Value:
class : public BitfieldBackend::BitfieldTypes<__DataType> \
{ \
public: \
union { \
fieldType<first, last> __data;

Definition at line 292 of file bitunion.hh.

#define BitUnion (   type,
  name 
)    __BitUnion(type, name)

Definition at line 324 of file bitunion.hh.

#define BitUnion16 (   name)    __BitUnion(uint16_t, name)

Definition at line 329 of file bitunion.hh.

#define BitUnion32 (   name)    __BitUnion(uint32_t, name)

Definition at line 328 of file bitunion.hh.

#define BitUnion64 (   name)    __BitUnion(uint64_t, name)

Definition at line 327 of file bitunion.hh.

#define BitUnion8 (   name)    __BitUnion(uint8_t, name)

Definition at line 330 of file bitunion.hh.

#define EndBitUnion (   name)
Value:
}; \
}; \
BitfieldUnderlyingClasses##name::__DataType, \
BitfieldUnderlyingClasses##name> name;
const std::string & name()
Definition: trace.cc:49

Definition at line 280 of file bitunion.hh.

#define EndSubBitUnion (   name)
Value:
}; \
inline operator __DataType () const \
{ return __data; } \
\
inline __DataType operator = (const __DataType & _data) \
{ return __data = _data;} \
} name;
const std::string & name()
Definition: trace.cc:49

Definition at line 304 of file bitunion.hh.

#define SignedSubBitUnion (   name,
  first,
  last 
)    __SubBitUnion(SignedBitfield, first, last, name)

Definition at line 320 of file bitunion.hh.

#define SubBitUnion (   name,
  first,
  last 
)    __SubBitUnion(Bitfield, first, last, name)

Definition at line 315 of file bitunion.hh.


Generated on Fri Jun 9 2017 13:03:56 for gem5 by doxygen 1.8.6