#include <functional>
#include <iostream>
#include <type_traits>
#include <typeinfo>
#include "base/bitfield.hh"
Go to the source code of this file.
|
#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) |
|
◆ __BitUnion
Value: class BitfieldUnderlyingClasses##
name : \
{ \
protected: \
typedef
type __StorageType; \
BitfieldBackend::BitUnionOperators< \
BitfieldUnderlyingClasses##
name> >; \
BitfieldUnderlyingClasses##
name>; \
public: \
union { \
type __storage;
Definition at line 310 of file bitunion.hh.
◆ __SubBitUnion
#define __SubBitUnion |
( |
|
name, |
|
|
|
fieldType, |
|
|
|
... |
|
) |
| |
Value: class \
{ \
public: \
union { \
fieldType<__VA_ARGS__> __storage;
Definition at line 344 of file bitunion.hh.
◆ BitUnion16
◆ BitUnion32
◆ BitUnion8