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