15 #ifndef ABSL_TIME_INTERNAL_CCTZ_TIME_ZONE_INFO_H_ 16 #define ABSL_TIME_INTERNAL_CCTZ_TIME_ZONE_INFO_H_ 31 namespace time_internal {
70 bool Load(
const std::string&
name);
81 std::string Version()
const override;
82 std::string Description()
const override;
93 bool Build(
const tzhead& tzh);
94 std::size_t DataLength(std::size_t time_len)
const;
97 void CheckTransition(
const std::string& name,
const TransitionType& tt,
98 std::int_fast32_t offset,
bool is_dst,
99 const std::string&
abbr)
const;
100 bool EquivTransitions(std::uint_fast8_t tt1_index,
101 std::uint_fast8_t tt2_index)
const;
102 void ExtendTransitions(
const std::string& name,
const Header& hdr);
104 bool ResetToBuiltinUTC(
const seconds& offset);
128 mutable std::atomic<std::size_t> local_time_hint_ = {};
129 mutable std::atomic<std::size_t> time_local_hint_ = {};
136 #endif // ABSL_TIME_INTERNAL_CCTZ_TIME_ZONE_INFO_H_
bool operator()(const Transition &lhs, const Transition &rhs) const
std::uint_least8_t type_index
bool operator()(const Transition &lhs, const Transition &rhs) const
std::string abbreviations_
std::int_least64_t unix_time
civil_second prev_civil_sec
std::chrono::duration< std::int_fast64_t > seconds
std::int_least32_t utc_offset
std::chrono::time_point< std::chrono::system_clock, D > time_point
std::uint_least8_t abbr_index
std::vector< Transition > transitions_
std::vector< TransitionType > transition_types_
std::uint_fast8_t default_transition_type_