tor-browser

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

MeasureUnitParser.d.hpp (2780B)


      1 #ifndef icu4x_MeasureUnitParser_D_HPP
      2 #define icu4x_MeasureUnitParser_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 MeasureUnit; }
     18 class MeasureUnit;
     19 namespace capi { struct MeasureUnitParser; }
     20 class MeasureUnitParser;
     21 class DataError;
     22 }
     23 
     24 
     25 namespace icu4x {
     26 namespace capi {
     27    struct MeasureUnitParser;
     28 } // namespace capi
     29 } // namespace
     30 
     31 namespace icu4x {
     32 /**
     33 * An ICU4X Measure Unit Parser object, capable of parsing the CLDR unit identifier (e.g. `meter-per-square-second`) and get the [`MeasureUnit`].
     34 *
     35 * See the [Rust documentation for `MeasureUnitParser`](https://docs.rs/icu/latest/icu/experimental/measure/parser/struct.MeasureUnitParser.html) for more information.
     36 */
     37 class MeasureUnitParser {
     38 public:
     39 
     40  /**
     41   * Construct a new [`MeasureUnitParser`] instance using compiled data.
     42   *
     43   * See the [Rust documentation for `new`](https://docs.rs/icu/latest/icu/experimental/measure/parser/struct.MeasureUnitParser.html#method.new) for more information.
     44   */
     45  inline static std::unique_ptr<icu4x::MeasureUnitParser> create();
     46 
     47  /**
     48   * Construct a new [`MeasureUnitParser`] instance using a particular data source.
     49   *
     50   * See the [Rust documentation for `new`](https://docs.rs/icu/latest/icu/experimental/measure/parser/struct.MeasureUnitParser.html#method.new) for more information.
     51   */
     52  inline static diplomat::result<std::unique_ptr<icu4x::MeasureUnitParser>, icu4x::DataError> create_with_provider(const icu4x::DataProvider& provider);
     53 
     54  /**
     55   * See the [Rust documentation for `parse`](https://docs.rs/icu/latest/icu/experimental/measure/parser/struct.MeasureUnitParser.html#method.parse) for more information.
     56   */
     57  inline std::unique_ptr<icu4x::MeasureUnit> parse(std::string_view unit_id) const;
     58 
     59  inline const icu4x::capi::MeasureUnitParser* AsFFI() const;
     60  inline icu4x::capi::MeasureUnitParser* AsFFI();
     61  inline static const icu4x::MeasureUnitParser* FromFFI(const icu4x::capi::MeasureUnitParser* ptr);
     62  inline static icu4x::MeasureUnitParser* FromFFI(icu4x::capi::MeasureUnitParser* ptr);
     63  inline static void operator delete(void* ptr);
     64 private:
     65  MeasureUnitParser() = delete;
     66  MeasureUnitParser(const icu4x::MeasureUnitParser&) = delete;
     67  MeasureUnitParser(icu4x::MeasureUnitParser&&) noexcept = delete;
     68  MeasureUnitParser operator=(const icu4x::MeasureUnitParser&) = delete;
     69  MeasureUnitParser operator=(icu4x::MeasureUnitParser&&) noexcept = delete;
     70  static void operator delete[](void*, size_t) = delete;
     71 };
     72 
     73 } // namespace
     74 #endif // icu4x_MeasureUnitParser_D_HPP