tor-browser

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

IanaParserExtended.d.hpp (3571B)


      1 #ifndef icu4x_IanaParserExtended_D_HPP
      2 #define icu4x_IanaParserExtended_D_HPP
      3 
      4 #include <stdio.h>
      5 #include <stdint.h>
      6 #include <stddef.h>
      7 #include <stdbool.h>
      8 #include <memory>
      9 #include <functional>
     10 #include <optional>
     11 #include <cstdlib>
     12 #include "../diplomat_runtime.hpp"
     13 
     14 namespace icu4x {
     15 namespace capi { struct DataProvider; }
     16 class DataProvider;
     17 namespace capi { struct IanaParserExtended; }
     18 class IanaParserExtended;
     19 namespace capi { struct TimeZoneAndCanonicalAndNormalizedIterator; }
     20 class TimeZoneAndCanonicalAndNormalizedIterator;
     21 namespace capi { struct TimeZoneAndCanonicalIterator; }
     22 class TimeZoneAndCanonicalIterator;
     23 struct TimeZoneAndCanonicalAndNormalized;
     24 class DataError;
     25 }
     26 
     27 
     28 namespace icu4x {
     29 namespace capi {
     30    struct IanaParserExtended;
     31 } // namespace capi
     32 } // namespace
     33 
     34 namespace icu4x {
     35 /**
     36 * A mapper between IANA time zone identifiers and BCP-47 time zone identifiers.
     37 *
     38 * This mapper supports two-way mapping, but it is optimized for the case of IANA to BCP-47.
     39 * It also supports normalizing and canonicalizing the IANA strings.
     40 *
     41 * See the [Rust documentation for `IanaParserExtended`](https://docs.rs/icu/latest/icu/time/zone/iana/struct.IanaParserExtended.html) for more information.
     42 */
     43 class IanaParserExtended {
     44 public:
     45 
     46  /**
     47   * Create a new [`IanaParserExtended`] using compiled data
     48   *
     49   * See the [Rust documentation for `new`](https://docs.rs/icu/latest/icu/time/zone/iana/struct.IanaParserExtended.html#method.new) for more information.
     50   */
     51  inline static std::unique_ptr<icu4x::IanaParserExtended> create();
     52 
     53  /**
     54   * Create a new [`IanaParserExtended`] using a particular data source
     55   *
     56   * See the [Rust documentation for `new`](https://docs.rs/icu/latest/icu/time/zone/iana/struct.IanaParserExtended.html#method.new) for more information.
     57   */
     58  inline static diplomat::result<std::unique_ptr<icu4x::IanaParserExtended>, icu4x::DataError> create_with_provider(const icu4x::DataProvider& provider);
     59 
     60  /**
     61   * See the [Rust documentation for `parse`](https://docs.rs/icu/latest/icu/time/zone/iana/struct.IanaParserExtendedBorrowed.html#method.parse) for more information.
     62   */
     63  inline icu4x::TimeZoneAndCanonicalAndNormalized parse(std::string_view value) const;
     64 
     65  /**
     66   * See the [Rust documentation for `iter`](https://docs.rs/icu/latest/icu/time/zone/iana/struct.IanaParserExtendedBorrowed.html#method.iter) for more information.
     67   */
     68  inline std::unique_ptr<icu4x::TimeZoneAndCanonicalIterator> iter() const;
     69 
     70  /**
     71   * See the [Rust documentation for `iter_all`](https://docs.rs/icu/latest/icu/time/zone/iana/struct.IanaParserExtendedBorrowed.html#method.iter_all) for more information.
     72   */
     73  inline std::unique_ptr<icu4x::TimeZoneAndCanonicalAndNormalizedIterator> iter_all() const;
     74 
     75  inline const icu4x::capi::IanaParserExtended* AsFFI() const;
     76  inline icu4x::capi::IanaParserExtended* AsFFI();
     77  inline static const icu4x::IanaParserExtended* FromFFI(const icu4x::capi::IanaParserExtended* ptr);
     78  inline static icu4x::IanaParserExtended* FromFFI(icu4x::capi::IanaParserExtended* ptr);
     79  inline static void operator delete(void* ptr);
     80 private:
     81  IanaParserExtended() = delete;
     82  IanaParserExtended(const icu4x::IanaParserExtended&) = delete;
     83  IanaParserExtended(icu4x::IanaParserExtended&&) noexcept = delete;
     84  IanaParserExtended operator=(const icu4x::IanaParserExtended&) = delete;
     85  IanaParserExtended operator=(icu4x::IanaParserExtended&&) noexcept = delete;
     86  static void operator delete[](void*, size_t) = delete;
     87 };
     88 
     89 } // namespace
     90 #endif // icu4x_IanaParserExtended_D_HPP