ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
DecimalFormatter.d.hpp
Go to the documentation of this file.
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>
13
14namespace icu4x {
15namespace capi { struct DataProvider; }
16class DataProvider;
17namespace capi { struct Decimal; }
18class Decimal;
19namespace capi { struct DecimalFormatter; }
21namespace capi { struct Locale; }
22class Locale;
23class DataError;
25}
26
27
28namespace icu4x {
29namespace capi {
30 struct DecimalFormatter;
31} // namespace capi
32} // namespace
33
34namespace icu4x {
40class DecimalFormatter {
41public:
42
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
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
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
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);
76private:
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
Definition diplomat_runtime.hpp:140
Definition diplomat_runtime.hpp:223
Definition DataError.d.hpp:37
Definition DataProvider.d.hpp:40
Definition DecimalFormatter.d.hpp:40
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)
Definition DecimalFormatter.hpp:56
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)
Definition DecimalFormatter.hpp:49
static diplomat::result< std::unique_ptr< icu4x::DecimalFormatter >, icu4x::DataError > create_with_grouping_strategy(const icu4x::Locale &locale, std::optional< icu4x::DecimalGroupingStrategy > grouping_strategy)
Definition DecimalFormatter.hpp:43
std::string format(const icu4x::Decimal &value) const
Definition DecimalFormatter.hpp:71
Definition DecimalGroupingStrategy.d.hpp:32
Definition Decimal.d.hpp:36
Definition Locale.d.hpp:33
Definition Bidi.d.hpp:14