18 using std::runtime_error::runtime_error;
85 return os <<
"Unknown";
88 __builtin_unreachable();
160 template <
typename T> T
as()
const
165 throw CastException(
"TaggedValue::as(): type mismatch. Wanted type " +
172 template <
typename T> T
to()
const
191 __builtin_unreachable();
CastException(const std::string &msg)
DivisionByZero(const std::string &msg)
InvalidOperationTag(const std::string &msg)
TagMismatchException(const std::string &msg)
TaggedValue operator>>(const TaggedValue &other) const
TaggedValue operator+(const TaggedValue &other) const
bool operator<=(const TaggedValue &other) const
static TaggedValue from(T value)
TaggedValue operator~() const
std::variant< uint8_t, uint1_t, uint16_t, uint32_t, uint64_t, uint128_t, FF > value_type
bool operator>(const TaggedValue &other) const
TaggedValue operator/(const TaggedValue &other) const
std::size_t hash() const noexcept
static TaggedValue from_tag_truncating(ValueTag tag, FF value)
TaggedValue operator-(const TaggedValue &other) const
bool operator<(const TaggedValue &other) const
TaggedValue operator<<(const TaggedValue &other) const
bool operator==(const TaggedValue &other) const
TaggedValue operator|(const TaggedValue &other) const
static TaggedValue from_tag(ValueTag tag, FF value)
TaggedValue operator^(const TaggedValue &other) const
TaggedValue operator*(const TaggedValue &other) const
TaggedValue operator&(const TaggedValue &other) const
std::string to_string() const
bool operator!=(const TaggedValue &other) const
ValueOutOfBounds(const std::string &msg)
std::ostream & operator<<(std::ostream &os, const CoarseTransactionPhase &phase)
uint8_t get_tag_bits(ValueTag tag)
uint256_t get_tag_max_value(ValueTag tag)
uint8_t get_tag_bytes(ValueTag tag)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
std::string to_string(bb::avm2::ValueTag tag)