![]() |
Spicy
|
#include <bitfield.h>
Public Member Functions | |
Bitfield (int width, std::vector< bitfield::Bits > bits, Meta m=Meta()) | |
Bitfield (Wildcard, Meta m=Meta()) | |
int | width () const |
auto | bits () const |
std::optional< bitfield::Bits > | bits (const ID &id) const |
std::optional< int > | bitsIndex (const ID &id) const |
Type | type () const |
bool | operator== (const Bitfield &other) const |
auto | _bitsNodes () |
auto | isEqual (const Type &other) const |
auto | typeParameters () const |
auto | isWildcard () const |
auto | properties () const |
![]() | |
bool | hasFlag (type::Flag f) const |
type::Flags | flags () const |
bool | _isConstant () const |
std::optional< ID > | typeID () const |
std::optional< ID > | cxxID () const |
const type::detail::State & | _state () const |
type::detail::State & | _state () |
![]() | |
NodeBase (Meta meta) | |
NodeBase (std::vector< Node > childs, Meta meta) | |
template<typename T > | |
const T & | child (int i) const |
template<typename T > | |
void | assertChildIsA (int i) |
template<typename T > | |
std::vector< T > | childs (int begin, int end) const |
template<typename T > | |
std::vector< T > | childsOfType () const |
template<typename T > | |
auto | nodesOfType () const |
template<typename T > | |
auto | nodesOfType () |
void | addChild (Node n) |
auto & | childs () const |
auto & | childs () |
auto & | meta () const |
void | setMeta (Meta m) |
const NodeRef & | originalNode () const |
void | setOriginalNode (const NodeRef &n) |
void | clearCache () |
Static Public Member Functions | |
static Bitfield | addField (const Bitfield &s, bitfield::Bits f) |
AST node for a struct type.
|
inline |
For internal use by the builder API only.
|
inlinestatic |
Copies an existing type and adds a new field to the copy.
s | original type |
f | field to add |
|
inline |
Implements the Type
interface.
|
inline |
Implements the Type
interface.
|
inline |
Implements the Node
interface.
|
inline |
Implements the Type
interface.