tor-browser

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

CanonicalComposition.d.hpp (2993B)


      1 #ifndef icu4x_CanonicalComposition_D_HPP
      2 #define icu4x_CanonicalComposition_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 CanonicalComposition; }
     16 class CanonicalComposition;
     17 namespace capi { struct DataProvider; }
     18 class DataProvider;
     19 class DataError;
     20 }
     21 
     22 
     23 namespace icu4x {
     24 namespace capi {
     25    struct CanonicalComposition;
     26 } // namespace capi
     27 } // namespace
     28 
     29 namespace icu4x {
     30 /**
     31 * The raw canonical composition operation.
     32 *
     33 * Callers should generally use ComposingNormalizer unless they specifically need raw composition operations
     34 *
     35 * See the [Rust documentation for `CanonicalComposition`](https://docs.rs/icu/latest/icu/normalizer/properties/struct.CanonicalComposition.html) for more information.
     36 */
     37 class CanonicalComposition {
     38 public:
     39 
     40  /**
     41   * Construct a new CanonicalComposition instance for NFC using compiled data.
     42   *
     43   * See the [Rust documentation for `new`](https://docs.rs/icu/latest/icu/normalizer/properties/struct.CanonicalComposition.html#method.new) for more information.
     44   */
     45  inline static std::unique_ptr<icu4x::CanonicalComposition> create();
     46 
     47  /**
     48   * Construct a new CanonicalComposition instance for NFC using a particular data source.
     49   *
     50   * See the [Rust documentation for `new`](https://docs.rs/icu/latest/icu/normalizer/properties/struct.CanonicalComposition.html#method.new) for more information.
     51   */
     52  inline static diplomat::result<std::unique_ptr<icu4x::CanonicalComposition>, icu4x::DataError> create_with_provider(const icu4x::DataProvider& provider);
     53 
     54  /**
     55   * Performs canonical composition (including Hangul) on a pair of characters
     56   * or returns NUL if these characters don’t compose. Composition exclusions are taken into account.
     57   *
     58   * See the [Rust documentation for `compose`](https://docs.rs/icu/latest/icu/normalizer/properties/struct.CanonicalCompositionBorrowed.html#method.compose) for more information.
     59   */
     60  inline char32_t compose(char32_t starter, char32_t second) const;
     61 
     62  inline const icu4x::capi::CanonicalComposition* AsFFI() const;
     63  inline icu4x::capi::CanonicalComposition* AsFFI();
     64  inline static const icu4x::CanonicalComposition* FromFFI(const icu4x::capi::CanonicalComposition* ptr);
     65  inline static icu4x::CanonicalComposition* FromFFI(icu4x::capi::CanonicalComposition* ptr);
     66  inline static void operator delete(void* ptr);
     67 private:
     68  CanonicalComposition() = delete;
     69  CanonicalComposition(const icu4x::CanonicalComposition&) = delete;
     70  CanonicalComposition(icu4x::CanonicalComposition&&) noexcept = delete;
     71  CanonicalComposition operator=(const icu4x::CanonicalComposition&) = delete;
     72  CanonicalComposition operator=(icu4x::CanonicalComposition&&) noexcept = delete;
     73  static void operator delete[](void*, size_t) = delete;
     74 };
     75 
     76 } // namespace
     77 #endif // icu4x_CanonicalComposition_D_HPP