EHS/include/Type.h
2023-12-17 03:29:08 -08:00

47 lines
785 B
C++

#pragma once
#include "EHS.h"
#include "Str.h"
namespace lwe
{
class Type
{
private:
UInt_64 hashId;
Str_8 id;
public:
Type();
Type(Str_8 id);
Type(const Type& type) = default;
Type(Type&& type) noexcept;
Type& operator=(const Type& type);
Type& operator=(Type&& type) noexcept;
bool operator!() const;
bool operator==(const Type& type) const;
bool operator!=(const Type& type) const;
bool operator==(const UInt_64 hashId) const;
bool operator!=(const UInt_64 hashId) const;
bool operator==(const Str_8& type) const;
bool operator!=(const Str_8& type) const;
UInt_64 GetHashId() const;
Str_8 GetId() const;
bool IsValid() const;
};
}