tor-browser

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

DecimalRoundingIncrement.d.hpp (1660B)


      1 #ifndef icu4x_DecimalRoundingIncrement_D_HPP
      2 #define icu4x_DecimalRoundingIncrement_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 DecimalRoundingIncrement {
     18      DecimalRoundingIncrement_MultiplesOf1 = 0,
     19      DecimalRoundingIncrement_MultiplesOf2 = 1,
     20      DecimalRoundingIncrement_MultiplesOf5 = 2,
     21      DecimalRoundingIncrement_MultiplesOf25 = 3,
     22    };
     23 
     24    typedef struct DecimalRoundingIncrement_option {union { DecimalRoundingIncrement ok; }; bool is_ok; } DecimalRoundingIncrement_option;
     25 } // namespace capi
     26 } // namespace
     27 
     28 namespace icu4x {
     29 /**
     30 * Increment used in a rounding operation.
     31 *
     32 * See the [Rust documentation for `RoundingIncrement`](https://docs.rs/fixed_decimal/latest/fixed_decimal/enum.RoundingIncrement.html) for more information.
     33 */
     34 class DecimalRoundingIncrement {
     35 public:
     36  enum Value {
     37    MultiplesOf1 = 0,
     38    MultiplesOf2 = 1,
     39    MultiplesOf5 = 2,
     40    MultiplesOf25 = 3,
     41  };
     42 
     43  DecimalRoundingIncrement() = default;
     44  // Implicit conversions between enum and ::Value
     45  constexpr DecimalRoundingIncrement(Value v) : value(v) {}
     46  constexpr operator Value() const { return value; }
     47  // Prevent usage as boolean value
     48  explicit operator bool() const = delete;
     49 
     50  inline icu4x::capi::DecimalRoundingIncrement AsFFI() const;
     51  inline static icu4x::DecimalRoundingIncrement FromFFI(icu4x::capi::DecimalRoundingIncrement c_enum);
     52 private:
     53    Value value;
     54 };
     55 
     56 } // namespace
     57 #endif // icu4x_DecimalRoundingIncrement_D_HPP