// This file is part of the Luau programming language and is licensed under MIT License; see LICENSE.txt for details #pragma once #include <cstddef> #include <cstdint> #include <functional> namespace Luau::EqSat { struct Id final { explicit Id(uint32_t id); explicit operator uint32_t() const; bool operator==(Id rhs) const; bool operator!=(Id rhs) const; bool operator<(Id rhs) const; private: uint32_t id; }; } // namespace Luau::EqSat template<> struct std::hash<Luau::EqSat::Id> { size_t operator()(Luau::EqSat::Id id) const; };