gem5
v21.0.1.0
|
#include <functional>
#include <iostream>
#include <type_traits>
#include <typeinfo>
#include "base/bitfield.hh"
#include "sim/serialize_handlers.hh"
Go to the source code of this file.
Namespaces | |
BitfieldBackend | |
std | |
Overload hash function for BasicBlockRange type. | |
Macros | |
#define | __BitUnion(type, name) |
#define | EndBitUnion(name) |
This closes off the class and union started by the above macro. More... | |
#define | __SubBitUnion(name, fieldType, ...) |
#define | EndSubBitUnion(name) |
This closes off the union created above and gives it a name. More... | |
#define | SubBitUnion(name, first, last) __SubBitUnion(name, Bitfield, first, last) |
Regular bitfields These define macros for read/write regular bitfield based subbitfields. More... | |
#define | SignedSubBitUnion(name, first, last) __SubBitUnion(name, SignedBitfield, first, last) |
Regular bitfields These define macros for read/write regular bitfield based subbitfields. More... | |
#define | BitUnion(type, name) __BitUnion(type, name) |
Use this to define an arbitrary type overlayed with bitfields. More... | |
#define | BitUnion64(name) __BitUnion(uint64_t, name) |
Use this to define conveniently sized values overlayed with bitfields. More... | |
#define | BitUnion32(name) __BitUnion(uint32_t, name) |
#define | BitUnion16(name) __BitUnion(uint16_t, name) |
#define | BitUnion8(name) __BitUnion(uint8_t, name) |
Typedefs | |
template<typename T > | |
using | BitUnionType = BitfieldBackend::BitUnionOperators< T > |
template<typename T > | |
using | BitUnionBaseType = typename BitfieldBackend::BitUnionBaseType< T >::Type |
Functions | |
template<typename T > | |
static std::ostream & | BitfieldBackend::bitfieldBackendPrinter (std::ostream &os, const T &t) |
template<> | |
std::ostream & | BitfieldBackend::bitfieldBackendPrinter (std::ostream &os, const char &t) |
template<> | |
std::ostream & | BitfieldBackend::bitfieldBackendPrinter (std::ostream &os, const unsigned char &t) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &os, const BitUnionType< T > &bu) |
A default << operator which casts a bitunion to its underlying type and passes it to BitfieldBackend::bitfieldBackendPrinter. More... | |
#define __BitUnion | ( | type, | |
name | |||
) |
Definition at line 402 of file bitunion.hh.
#define __SubBitUnion | ( | name, | |
fieldType, | |||
... | |||
) |
Definition at line 436 of file bitunion.hh.
#define BitUnion16 | ( | name | ) | __BitUnion(uint16_t, name) |
Definition at line 493 of file bitunion.hh.
#define BitUnion32 | ( | name | ) | __BitUnion(uint32_t, name) |
Definition at line 492 of file bitunion.hh.
#define BitUnion8 | ( | name | ) | __BitUnion(uint8_t, name) |
Definition at line 494 of file bitunion.hh.