std::hash
std::hash (std::chrono::year_month_day_last 특수화)
std::hash의 std::chrono::year_month_day_last 특수화예요. 이 타입의 객체 해시를 얻을 수 있게 해줘요. 해시 기반 컨테이너 키로 쓸 수 있게 해줘요. C++26부터 있어요.
출처: cppreference
본문
<chrono> 헤더에 정의돼 있고, std::hash의 std::chrono::year_month_day_last 특수화예요. 이 특수화 덕분에 std::chrono::year_month_day_last를 std::unordered_set, std::unordered_map 같은 해시 기반 컨테이너의 키로 사용할 수 있어요. 동등 비교(==)에서 같은 값은 같은 해시를 가져요.
// std::unordered_map<std::chrono::year_month_day_last, T> 형태 사용 가능
chrono 타입들에 대한 std::hash 특수화는 C++26부터 추가됐어요. 해시는 저장된 연·월 필드를 바탕으로 계산돼요.
#include <chrono>
#include <unordered_set>
int main()
{
using namespace std::chrono;
std::unordered_set<year_month_day_last> set;
set.insert(2023y / August / last);
}