|
CIRCT 22.0.0git
|
The "void" type is a special type which can be used to represent no type. More...
#include <Types.h>


Public Member Functions | |
| VoidType (const ID &id) | |
| std::ptrdiff_t | getBitWidth () const override |
| void | ensureValid (const std::any &obj) const override |
| Ensure that a std::any object is valid for this type. | |
| MutableBitVector | serialize (const std::any &obj) const override |
| Serialize an object to a MutableBitVector (LSB-first stream). | |
| std::any | deserialize (BitVector &data) const override |
| Deserialize from a BitVector stream (LSB-first). | |
| virtual std::any | deserialize (BitVector &data) const |
| Deserialize from a BitVector stream (LSB-first). | |
| std::any | deserialize (const MessageData &data) const |
Public Member Functions inherited from esi::Type | |
| Type (const ID &id) | |
| virtual | ~Type ()=default |
| ID | getID () const |
| std::any | deserialize (const MessageData &data) const |
| std::optional< std::string > | isValid (const std::any &obj) const |
| void | dump (std::ostream &os, bool oneLine=false) const |
| std::string | toString (bool oneLine=false) const |
Additional Inherited Members | |
Public Types inherited from esi::Type | |
| using | ID = std::string |
Protected Attributes inherited from esi::Type | |
| ID | id |
The "void" type is a special type which can be used to represent no type.
|
inlinevirtual |
|
overridevirtual |
Deserialize from a BitVector stream (LSB-first).
Implementations consume bits from 'data' in-place (via logical right shifts) and return the reconstructed value. Remaining bits stay in 'data'.
Reimplemented from esi::Type.
Definition at line 144 of file Types.cpp.
References esi::BitVector::getSpan().
|
inline |
|
overridevirtual |
Ensure that a std::any object is valid for this type.
Throws std::runtime_error if the object is not valid.
Reimplemented from esi::Type.
Definition at line 128 of file Types.cpp.
Referenced by serialize().
|
inlineoverridevirtual |
|
overridevirtual |
Serialize an object to a MutableBitVector (LSB-first stream).
The object should be passed via std::any. Implementations append fields in the order they are iterated (the first serialized field occupies the least-significant bits of the result).
Reimplemented from esi::Type.
Definition at line 157 of file Types.cpp.
References ensureValid().