tor-browser

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

DateTimeLength.d.hpp (1314B)


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