choose

choose (모호/없는 로컬 시각 해석 방향)

모호하거나 존재하지 않는 로컬 시각을 어떻게 해석할지 고르는 스코프 열거형이에요. <chrono> 헤더, C++20부터.

출처: cppreference

본문

choosestd::chrono::time_zonestd::chrono::zoned_time의 특정 멤버 함수에 전달해, 모호하거나 존재하지 않는 로컬 시각을 어떻게 해석할지 제어해요.

enum class choose {
    earliest,
    latest
};
  • choose::earliest: 더 이른 시각을 반환하게 해요.
  • choose::latest: 더 늦은 시각을 반환하게 해요.

(존재하지 않는 로컬 시각의 경우 이 두 시점은 동일해요.)

choose를 전달하지 않고 모호하거나 존재하지 않는 로컬 시각을 만나면, 상황에 따라 std::chrono::ambiguous_local_time 또는 std::chrono::nonexistent_local_time 예외가 던져져요.

하절기 전환으로 인해 어떤 로컬 시각이 두 번 해석되거나(모호) 아예 존재하지 않을 때(생략) 이 열거형으로 명시적으로 방향을 선택할 수 있어요. 예를 들어 zoned_time 생성 때 로컬 시각이 모호하면 예외 대신 choose::earliest로 이른 쪽을 택하는 방식이에요.

더 알아보기 (Learn more)

cppreference