File indexing completed on 2024-04-21 03:54:30

0001 /*
0002     SPDX-FileCopyrightText: 2021 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "timezonedata_p.h"
0008 
0009 #include "data/country_timezone_map.cpp"
0010 #include "data/subdivision_timezone_map.cpp"
0011 #include "data/timezone_name_table.cpp"
0012 
0013 #include <cassert>
0014 
0015 static_assert(isSortedLookupTable(country_timezone_map));
0016 static_assert(isSortedLookupTable(subdivision_timezone_map));
0017 
0018 const char *TimezoneData::ianaIdLookup(uint16_t offset)
0019 {
0020     assert(offset < sizeof(timezone_name_table));
0021     return timezone_name_table + offset;
0022 }
0023 
0024 const MapEntry<uint16_t> *TimezoneData::countryTimezoneMapBegin()
0025 {
0026     return std::begin(country_timezone_map);
0027 }
0028 
0029 const MapEntry<uint16_t> *TimezoneData::countryTimezoneMapEnd()
0030 {
0031     return std::end(country_timezone_map);
0032 }
0033 
0034 const MapEntry<uint32_t> *TimezoneData::subdivisionTimezoneMapBegin()
0035 {
0036     return std::begin(subdivision_timezone_map);
0037 }
0038 
0039 const MapEntry<uint32_t> *TimezoneData::subdivisionTimezoneMapEnd()
0040 {
0041     return std::end(subdivision_timezone_map);
0042 }