36 lines
630 B
C++
36 lines
630 B
C++
#pragma once
|
|
|
|
#include "Common.h"
|
|
#include <string>
|
|
#include <string_view>
|
|
#include <functional>
|
|
|
|
namespace Feather
|
|
{
|
|
class BlockState
|
|
{
|
|
// PLACEHOLDER
|
|
std::string_view m_name;
|
|
public:
|
|
BlockState(std::string_view name) : m_name(name) {}
|
|
|
|
inline const std::string_view GetName() const { return m_name; }
|
|
|
|
inline bool operator ==(const BlockState that) const
|
|
{
|
|
return m_name == that.m_name;
|
|
}
|
|
};
|
|
}
|
|
|
|
template <>
|
|
struct std::hash<Feather::BlockState>
|
|
{
|
|
size_t operator()(const Feather::BlockState& state) const
|
|
{
|
|
using std::hash;
|
|
using std::string_view;
|
|
|
|
return hash<string_view>()(state.GetName());
|
|
}
|
|
}; |