#pragma once #include "civil.h" namespace NDatetime { namespace NDetail { template struct TGetCivilUnit; template <> struct TGetCivilUnit { static constexpr ECivilUnit Value = ECivilUnit::Second; }; template <> struct TGetCivilUnit { static constexpr ECivilUnit Value = ECivilUnit::Minute; }; template <> struct TGetCivilUnit { static constexpr ECivilUnit Value = ECivilUnit::Hour; }; template <> struct TGetCivilUnit { static constexpr ECivilUnit Value = ECivilUnit::Day; }; template <> struct TGetCivilUnit { static constexpr ECivilUnit Value = ECivilUnit::Month; }; template <> struct TGetCivilUnit { static constexpr ECivilUnit Value = ECivilUnit::Year; }; template struct TGetCivilTime; template <> struct TGetCivilTime { using TResult = TCivilSecond; }; template <> struct TGetCivilTime { using TResult = TCivilMinute; }; template <> struct TGetCivilTime { using TResult = TCivilHour; }; template <> struct TGetCivilTime { using TResult = TCivilDay; }; template <> struct TGetCivilTime { using TResult = TCivilMonth; }; template <> struct TGetCivilTime { using TResult = TCivilYear; }; } }