11#include <unordered_map>
26 throw std::logic_error(
"Unhandled type kind!");
59std::shared_ptr<const TestType>
63 return std::shared_ptr<const TestType>(std::shared_ptr<void>(), &
stateType);
66std::shared_ptr<const TestType>
70 return std::shared_ptr<const TestType>(std::shared_ptr<void>(), &
valueType);
~TestType() noexcept override
TypeKind Kind() const noexcept override
Return the kind of this type.
static std::shared_ptr< const TestType > createStateType()
static std::shared_ptr< const TestType > createValueType()
bool operator==(const Type &other) const noexcept override
std::size_t ComputeHash() const noexcept override
static std::string ToString(const TypeKind kind)
TypeKind
The kinds of types supported in rvsdg.
@ State
Designate a state type.
@ Value
Designate a value type.
NodeType * TryGetOwnerNode(const rvsdg::Input &input) noexcept
Checks if this is an input to a node of specified type.
static std::string strfmt(Args... args)
std::size_t CombineHashes(std::size_t hash, Args... args)