std::hash

std::hash (std::chrono::zoned_time 특수화)

std::hashstd::chrono::zoned_time 특수화예요. 이 타입의 객체 해시를 얻을 수 있게 해줘요. 해시 기반 컨테이너 키로 쓸 수 있게 해줘요. C++26부터 있어요.

출처: cppreference

본문

<chrono> 헤더에 정의돼 있고, std::hashstd::chrono::zoned_time 특수화예요. 동등 비교(==)에서 같은 값(같은 시점)은 같은 해시를 가져요. 해시는 저장된 시스템 시각을 바탕으로 계산돼요.

#include <chrono>
#include <unordered_set>

int main()
{
    using namespace std::chrono;
    std::unordered_set<zoned_time<seconds>> set;
    set.insert(zoned_time<seconds>{"Asia/Seoul", sys_days{2023y/September/4}});
}

chrono 타입에 대한 std::hash 특수화가 C++26부터 추가되면서 zoned_time을 해시 기반 컨테이너의 키로 사용할 수 있게 됐어요.

더 알아보기 (Learn more)

cppreference