tor-browser

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

DecimalFormatter.d.hpp (3734B)


      1 #ifndef icu4x_DecimalFormatter_D_HPP
      2 #define icu4x_DecimalFormatter_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 Decimal; }
     18 class Decimal;
     19 namespace capi { struct DecimalFormatter; }
     20 class DecimalFormatter;
     21 namespace capi { struct Locale; }
     22 class Locale;
     23 class DataError;
     24 class DecimalGroupingStrategy;
     25 }
     26 
     27 
     28 namespace icu4x {
     29 namespace capi {
     30    struct DecimalFormatter;
     31 } // namespace capi
     32 } // namespace
     33 
     34 namespace icu4x {
     35 /**
     36 * An ICU4X Decimal Format object, capable of formatting a [`Decimal`] as a string.
     37 *
     38 * See the [Rust documentation for `DecimalFormatter`](https://docs.rs/icu/latest/icu/decimal/struct.DecimalFormatter.html) for more information.
     39 */
     40 class DecimalFormatter {
     41 public:
     42 
     43  /**
     44   * Creates a new [`DecimalFormatter`], using compiled data
     45   *
     46   * See the [Rust documentation for `try_new`](https://docs.rs/icu/latest/icu/decimal/struct.DecimalFormatter.html#method.try_new) for more information.
     47   */
     48  inline static diplomat::result<std::unique_ptr<icu4x::DecimalFormatter>, icu4x::DataError> create_with_grouping_strategy(const icu4x::Locale& locale, std::optional<icu4x::DecimalGroupingStrategy> grouping_strategy);
     49 
     50  /**
     51   * Creates a new [`DecimalFormatter`], using a particular data source.
     52   *
     53   * See the [Rust documentation for `try_new`](https://docs.rs/icu/latest/icu/decimal/struct.DecimalFormatter.html#method.try_new) for more information.
     54   */
     55  inline static diplomat::result<std::unique_ptr<icu4x::DecimalFormatter>, icu4x::DataError> create_with_grouping_strategy_and_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DecimalGroupingStrategy> grouping_strategy);
     56 
     57  /**
     58   * Creates a new [`DecimalFormatter`] from preconstructed locale data.
     59   *
     60   * See the [Rust documentation for `DecimalSymbolsV1`](https://docs.rs/icu/latest/icu/decimal/provider/struct.DecimalSymbolsV1.html) for more information.
     61   */
     62  inline static diplomat::result<std::unique_ptr<icu4x::DecimalFormatter>, icu4x::DataError> create_with_manual_data(std::string_view plus_sign_prefix, std::string_view plus_sign_suffix, std::string_view minus_sign_prefix, std::string_view minus_sign_suffix, std::string_view decimal_separator, std::string_view grouping_separator, uint8_t primary_group_size, uint8_t secondary_group_size, uint8_t min_group_size, diplomat::span<const char32_t> digits, std::optional<icu4x::DecimalGroupingStrategy> grouping_strategy);
     63 
     64  /**
     65   * Formats a [`Decimal`] to a string.
     66   *
     67   * See the [Rust documentation for `format`](https://docs.rs/icu/latest/icu/decimal/struct.DecimalFormatter.html#method.format) for more information.
     68   */
     69  inline std::string format(const icu4x::Decimal& value) const;
     70 
     71  inline const icu4x::capi::DecimalFormatter* AsFFI() const;
     72  inline icu4x::capi::DecimalFormatter* AsFFI();
     73  inline static const icu4x::DecimalFormatter* FromFFI(const icu4x::capi::DecimalFormatter* ptr);
     74  inline static icu4x::DecimalFormatter* FromFFI(icu4x::capi::DecimalFormatter* ptr);
     75  inline static void operator delete(void* ptr);
     76 private:
     77  DecimalFormatter() = delete;
     78  DecimalFormatter(const icu4x::DecimalFormatter&) = delete;
     79  DecimalFormatter(icu4x::DecimalFormatter&&) noexcept = delete;
     80  DecimalFormatter operator=(const icu4x::DecimalFormatter&) = delete;
     81  DecimalFormatter operator=(icu4x::DecimalFormatter&&) noexcept = delete;
     82  static void operator delete[](void*, size_t) = delete;
     83 };
     84 
     85 } // namespace
     86 #endif // icu4x_DecimalFormatter_D_HPP