tor-browser

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

UtcOffset.hpp (4415B)


      1 #ifndef icu4x_UtcOffset_HPP
      2 #define icu4x_UtcOffset_HPP
      3 
      4 #include "UtcOffset.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 "TimeZoneInvalidOffsetError.hpp"
     16 
     17 
     18 namespace icu4x {
     19 namespace capi {
     20    extern "C" {
     21 
     22    typedef struct icu4x_UtcOffset_from_seconds_mv1_result {union {icu4x::capi::UtcOffset* ok; }; bool is_ok;} icu4x_UtcOffset_from_seconds_mv1_result;
     23    icu4x_UtcOffset_from_seconds_mv1_result icu4x_UtcOffset_from_seconds_mv1(int32_t seconds);
     24 
     25    typedef struct icu4x_UtcOffset_from_string_mv1_result {union {icu4x::capi::UtcOffset* ok; }; bool is_ok;} icu4x_UtcOffset_from_string_mv1_result;
     26    icu4x_UtcOffset_from_string_mv1_result icu4x_UtcOffset_from_string_mv1(diplomat::capi::DiplomatStringView offset);
     27 
     28    int32_t icu4x_UtcOffset_seconds_mv1(const icu4x::capi::UtcOffset* self);
     29 
     30    bool icu4x_UtcOffset_is_non_negative_mv1(const icu4x::capi::UtcOffset* self);
     31 
     32    bool icu4x_UtcOffset_is_zero_mv1(const icu4x::capi::UtcOffset* self);
     33 
     34    int32_t icu4x_UtcOffset_hours_part_mv1(const icu4x::capi::UtcOffset* self);
     35 
     36    uint32_t icu4x_UtcOffset_minutes_part_mv1(const icu4x::capi::UtcOffset* self);
     37 
     38    uint32_t icu4x_UtcOffset_seconds_part_mv1(const icu4x::capi::UtcOffset* self);
     39 
     40    void icu4x_UtcOffset_destroy_mv1(UtcOffset* self);
     41 
     42    } // extern "C"
     43 } // namespace capi
     44 } // namespace
     45 
     46 inline diplomat::result<std::unique_ptr<icu4x::UtcOffset>, icu4x::TimeZoneInvalidOffsetError> icu4x::UtcOffset::from_seconds(int32_t seconds) {
     47  auto result = icu4x::capi::icu4x_UtcOffset_from_seconds_mv1(seconds);
     48  return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::UtcOffset>, icu4x::TimeZoneInvalidOffsetError>(diplomat::Ok<std::unique_ptr<icu4x::UtcOffset>>(std::unique_ptr<icu4x::UtcOffset>(icu4x::UtcOffset::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::UtcOffset>, icu4x::TimeZoneInvalidOffsetError>(diplomat::Err<icu4x::TimeZoneInvalidOffsetError>(icu4x::TimeZoneInvalidOffsetError {}));
     49 }
     50 
     51 inline diplomat::result<std::unique_ptr<icu4x::UtcOffset>, icu4x::TimeZoneInvalidOffsetError> icu4x::UtcOffset::from_string(std::string_view offset) {
     52  auto result = icu4x::capi::icu4x_UtcOffset_from_string_mv1({offset.data(), offset.size()});
     53  return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::UtcOffset>, icu4x::TimeZoneInvalidOffsetError>(diplomat::Ok<std::unique_ptr<icu4x::UtcOffset>>(std::unique_ptr<icu4x::UtcOffset>(icu4x::UtcOffset::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::UtcOffset>, icu4x::TimeZoneInvalidOffsetError>(diplomat::Err<icu4x::TimeZoneInvalidOffsetError>(icu4x::TimeZoneInvalidOffsetError {}));
     54 }
     55 
     56 inline int32_t icu4x::UtcOffset::seconds() const {
     57  auto result = icu4x::capi::icu4x_UtcOffset_seconds_mv1(this->AsFFI());
     58  return result;
     59 }
     60 
     61 inline bool icu4x::UtcOffset::is_non_negative() const {
     62  auto result = icu4x::capi::icu4x_UtcOffset_is_non_negative_mv1(this->AsFFI());
     63  return result;
     64 }
     65 
     66 inline bool icu4x::UtcOffset::is_zero() const {
     67  auto result = icu4x::capi::icu4x_UtcOffset_is_zero_mv1(this->AsFFI());
     68  return result;
     69 }
     70 
     71 inline int32_t icu4x::UtcOffset::hours_part() const {
     72  auto result = icu4x::capi::icu4x_UtcOffset_hours_part_mv1(this->AsFFI());
     73  return result;
     74 }
     75 
     76 inline uint32_t icu4x::UtcOffset::minutes_part() const {
     77  auto result = icu4x::capi::icu4x_UtcOffset_minutes_part_mv1(this->AsFFI());
     78  return result;
     79 }
     80 
     81 inline uint32_t icu4x::UtcOffset::seconds_part() const {
     82  auto result = icu4x::capi::icu4x_UtcOffset_seconds_part_mv1(this->AsFFI());
     83  return result;
     84 }
     85 
     86 inline const icu4x::capi::UtcOffset* icu4x::UtcOffset::AsFFI() const {
     87  return reinterpret_cast<const icu4x::capi::UtcOffset*>(this);
     88 }
     89 
     90 inline icu4x::capi::UtcOffset* icu4x::UtcOffset::AsFFI() {
     91  return reinterpret_cast<icu4x::capi::UtcOffset*>(this);
     92 }
     93 
     94 inline const icu4x::UtcOffset* icu4x::UtcOffset::FromFFI(const icu4x::capi::UtcOffset* ptr) {
     95  return reinterpret_cast<const icu4x::UtcOffset*>(ptr);
     96 }
     97 
     98 inline icu4x::UtcOffset* icu4x::UtcOffset::FromFFI(icu4x::capi::UtcOffset* ptr) {
     99  return reinterpret_cast<icu4x::UtcOffset*>(ptr);
    100 }
    101 
    102 inline void icu4x::UtcOffset::operator delete(void* ptr) {
    103  icu4x::capi::icu4x_UtcOffset_destroy_mv1(reinterpret_cast<icu4x::capi::UtcOffset*>(ptr));
    104 }
    105 
    106 
    107 #endif // icu4x_UtcOffset_HPP