DecimalSignedRoundingMode.hpp (1431B)
1 #ifndef icu4x_DecimalSignedRoundingMode_HPP 2 #define icu4x_DecimalSignedRoundingMode_HPP 3 4 #include "DecimalSignedRoundingMode.d.hpp" 5 6 #include <stdio.h> 7 #include <stdint.h> 8 #include <stddef.h> 9 #include <stdbool.h> 10 #include <memory> 11 #include <functional> 12 #include <optional> 13 #include <cstdlib> 14 #include "../diplomat_runtime.hpp" 15 16 17 namespace icu4x { 18 namespace capi { 19 extern "C" { 20 21 } // extern "C" 22 } // namespace capi 23 } // namespace 24 25 inline icu4x::capi::DecimalSignedRoundingMode icu4x::DecimalSignedRoundingMode::AsFFI() const { 26 return static_cast<icu4x::capi::DecimalSignedRoundingMode>(value); 27 } 28 29 inline icu4x::DecimalSignedRoundingMode icu4x::DecimalSignedRoundingMode::FromFFI(icu4x::capi::DecimalSignedRoundingMode c_enum) { 30 switch (c_enum) { 31 case icu4x::capi::DecimalSignedRoundingMode_Expand: 32 case icu4x::capi::DecimalSignedRoundingMode_Trunc: 33 case icu4x::capi::DecimalSignedRoundingMode_HalfExpand: 34 case icu4x::capi::DecimalSignedRoundingMode_HalfTrunc: 35 case icu4x::capi::DecimalSignedRoundingMode_HalfEven: 36 case icu4x::capi::DecimalSignedRoundingMode_Ceil: 37 case icu4x::capi::DecimalSignedRoundingMode_Floor: 38 case icu4x::capi::DecimalSignedRoundingMode_HalfCeil: 39 case icu4x::capi::DecimalSignedRoundingMode_HalfFloor: 40 return static_cast<icu4x::DecimalSignedRoundingMode::Value>(c_enum); 41 default: 42 std::abort(); 43 } 44 } 45 #endif // icu4x_DecimalSignedRoundingMode_HPP