mirror of
https://github.com/luau-lang/luau.git
synced 2024-12-14 06:00:39 +00:00
30 lines
510 B
C
30 lines
510 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 <functional>
|
||
|
|
||
|
namespace Luau::EqSat
|
||
|
{
|
||
|
|
||
|
struct Id final
|
||
|
{
|
||
|
explicit Id(size_t id);
|
||
|
|
||
|
explicit operator size_t() const;
|
||
|
|
||
|
bool operator==(Id rhs) const;
|
||
|
bool operator!=(Id rhs) const;
|
||
|
|
||
|
private:
|
||
|
size_t id;
|
||
|
};
|
||
|
|
||
|
} // namespace Luau::EqSat
|
||
|
|
||
|
template<>
|
||
|
struct std::hash<Luau::EqSat::Id>
|
||
|
{
|
||
|
size_t operator()(Luau::EqSat::Id id) const;
|
||
|
};
|