Spicy
Public Member Functions | Static Public Member Functions | List of all members
spicy::type::Bitfield Class Reference

#include <bitfield.h>

Inheritance diagram for spicy::type::Bitfield:
hilti::TypeBase hilti::type::trait::isAllocable hilti::type::trait::isParameterized hilti::type::trait::isMutable hilti::NodeBase hilti::trait::isType hilti::trait::isNode hilti::trait::isNode

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::Bitsbits (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
 
- Public Member Functions inherited from hilti::TypeBase
bool hasFlag (type::Flag f) const
 
type::Flags flags () const
 
bool _isConstant () const
 
std::optional< IDtypeID () const
 
std::optional< IDcxxID () const
 
const type::detail::State_state () const
 
type::detail::State_state ()
 
- Public Member Functions inherited from hilti::NodeBase
 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 NodeReforiginalNode () const
 
void setOriginalNode (const NodeRef &n)
 
void clearCache ()
 

Static Public Member Functions

static Bitfield addField (const Bitfield &s, bitfield::Bits f)
 

Detailed Description

AST node for a struct type.

Member Function Documentation

◆ _bitsNodes()

auto spicy::type::Bitfield::_bitsNodes ( )
inline

For internal use by the builder API only.

◆ addField()

static Bitfield spicy::type::Bitfield::addField ( const Bitfield s,
bitfield::Bits  f 
)
inlinestatic

Copies an existing type and adds a new field to the copy.

Parameters
soriginal type
ffield to add
Returns
new typed with field added

◆ isEqual()

auto spicy::type::Bitfield::isEqual ( const Type &  other) const
inline

Implements the Type interface.

◆ isWildcard()

auto spicy::type::Bitfield::isWildcard ( ) const
inline

Implements the Type interface.

◆ properties()

auto spicy::type::Bitfield::properties ( ) const
inline

Implements the Node interface.

◆ typeParameters()

auto spicy::type::Bitfield::typeParameters ( ) const
inline

Implements the Type interface.


The documentation for this class was generated from the following files: