luau/EqSat/include/Luau/Id.h
2024-11-15 11:37:29 -08:00

32 lines
570 B
C++

// 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;
};