tor-browser

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

CanonicalDecomposition.d.hpp (2979B)


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