tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

CalendarKind.hpp (1965B)


      1 #ifndef icu4x_CalendarKind_HPP
      2 #define icu4x_CalendarKind_HPP
      3 
      4 #include "CalendarKind.d.hpp"
      5 
      6 #include <stdio.h>
      7 #include <stdint.h>
      8 #include <stddef.h>
      9 #include <stdbool.h>
     10 #include <memory>
     11 #include <functional>
     12 #include <optional>
     13 #include <cstdlib>
     14 #include "../diplomat_runtime.hpp"
     15 #include "Locale.hpp"
     16 
     17 
     18 namespace icu4x {
     19 namespace capi {
     20    extern "C" {
     21 
     22    icu4x::capi::CalendarKind icu4x_CalendarKind_create_mv1(const icu4x::capi::Locale* locale);
     23 
     24    } // extern "C"
     25 } // namespace capi
     26 } // namespace
     27 
     28 inline icu4x::capi::CalendarKind icu4x::CalendarKind::AsFFI() const {
     29  return static_cast<icu4x::capi::CalendarKind>(value);
     30 }
     31 
     32 inline icu4x::CalendarKind icu4x::CalendarKind::FromFFI(icu4x::capi::CalendarKind c_enum) {
     33  switch (c_enum) {
     34    case icu4x::capi::CalendarKind_Iso:
     35    case icu4x::capi::CalendarKind_Gregorian:
     36    case icu4x::capi::CalendarKind_Buddhist:
     37    case icu4x::capi::CalendarKind_Japanese:
     38    case icu4x::capi::CalendarKind_JapaneseExtended:
     39    case icu4x::capi::CalendarKind_Ethiopian:
     40    case icu4x::capi::CalendarKind_EthiopianAmeteAlem:
     41    case icu4x::capi::CalendarKind_Indian:
     42    case icu4x::capi::CalendarKind_Coptic:
     43    case icu4x::capi::CalendarKind_Dangi:
     44    case icu4x::capi::CalendarKind_Chinese:
     45    case icu4x::capi::CalendarKind_Hebrew:
     46    case icu4x::capi::CalendarKind_HijriTabularTypeIIFriday:
     47    case icu4x::capi::CalendarKind_HijriSimulatedMecca:
     48    case icu4x::capi::CalendarKind_HijriTabularTypeIIThursday:
     49    case icu4x::capi::CalendarKind_HijriUmmAlQura:
     50    case icu4x::capi::CalendarKind_Persian:
     51    case icu4x::capi::CalendarKind_Roc:
     52      return static_cast<icu4x::CalendarKind::Value>(c_enum);
     53    default:
     54      std::abort();
     55  }
     56 }
     57 
     58 inline icu4x::CalendarKind icu4x::CalendarKind::create(const icu4x::Locale& locale) {
     59  auto result = icu4x::capi::icu4x_CalendarKind_create_mv1(locale.AsFFI());
     60  return icu4x::CalendarKind::FromFFI(result);
     61 }
     62 #endif // icu4x_CalendarKind_HPP