tor-browser

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

DisplayNamesStyle.d.hpp (1425B)


      1 #ifndef icu4x_DisplayNamesStyle_D_HPP
      2 #define icu4x_DisplayNamesStyle_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 
     15 namespace icu4x {
     16 namespace capi {
     17    enum DisplayNamesStyle {
     18      DisplayNamesStyle_Narrow = 0,
     19      DisplayNamesStyle_Short = 1,
     20      DisplayNamesStyle_Long = 2,
     21      DisplayNamesStyle_Menu = 3,
     22    };
     23 
     24    typedef struct DisplayNamesStyle_option {union { DisplayNamesStyle ok; }; bool is_ok; } DisplayNamesStyle_option;
     25 } // namespace capi
     26 } // namespace
     27 
     28 namespace icu4x {
     29 /**
     30 * See the [Rust documentation for `Style`](https://docs.rs/icu/latest/icu/experimental/displaynames/options/enum.Style.html) for more information.
     31 */
     32 class DisplayNamesStyle {
     33 public:
     34  enum Value {
     35    Narrow = 0,
     36    Short = 1,
     37    Long = 2,
     38    Menu = 3,
     39  };
     40 
     41  DisplayNamesStyle() = default;
     42  // Implicit conversions between enum and ::Value
     43  constexpr DisplayNamesStyle(Value v) : value(v) {}
     44  constexpr operator Value() const { return value; }
     45  // Prevent usage as boolean value
     46  explicit operator bool() const = delete;
     47 
     48  inline icu4x::capi::DisplayNamesStyle AsFFI() const;
     49  inline static icu4x::DisplayNamesStyle FromFFI(icu4x::capi::DisplayNamesStyle c_enum);
     50 private:
     51    Value value;
     52 };
     53 
     54 } // namespace
     55 #endif // icu4x_DisplayNamesStyle_D_HPP