1 #ifndef icu4x_DateTimeFormatterLoadError_D_HPP 2 #define icu4x_DateTimeFormatterLoadError_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 "../diplomat_runtime.hpp" 12 13 14 namespace icu4x { 15 namespace capi { 16 enum DateTimeFormatterLoadError { 17 DateTimeFormatterLoadError_Unknown = 0, 18 DateTimeFormatterLoadError_UnsupportedLength = 2051, 19 DateTimeFormatterLoadError_DuplicateField = 2057, 20 DateTimeFormatterLoadError_TypeTooSpecific = 2058, 21 DateTimeFormatterLoadError_DataMarkerNotFound = 1, 22 DateTimeFormatterLoadError_DataIdentifierNotFound = 2, 23 DateTimeFormatterLoadError_DataInvalidRequest = 3, 24 DateTimeFormatterLoadError_DataInconsistentData = 4, 25 DateTimeFormatterLoadError_DataDowncast = 5, 26 DateTimeFormatterLoadError_DataDeserialize = 6, 27 DateTimeFormatterLoadError_DataCustom = 7, 28 DateTimeFormatterLoadError_DataIo = 8, 29 }; 30 31 typedef struct DateTimeFormatterLoadError_option {union { DateTimeFormatterLoadError ok; }; bool is_ok; } DateTimeFormatterLoadError_option; 32 } // namespace capi 33 } // namespace 34 35 namespace icu4x { 36 class DateTimeFormatterLoadError { 37 public: 38 enum Value { 39 Unknown = 0, 40 UnsupportedLength = 2051, 41 DuplicateField = 2057, 42 TypeTooSpecific = 2058, 43 DataMarkerNotFound = 1, 44 DataIdentifierNotFound = 2, 45 DataInvalidRequest = 3, 46 DataInconsistentData = 4, 47 DataDowncast = 5, 48 DataDeserialize = 6, 49 DataCustom = 7, 50 DataIo = 8, 51 }; 52 53 DateTimeFormatterLoadError() = default; 54 // Implicit conversions between enum and ::Value DateTimeFormatterLoadError(Value v)55 constexpr DateTimeFormatterLoadError(Value v) : value(v) {} operator Value() const56 constexpr operator Value() const { return value; } 57 // Prevent usage as boolean value 58 explicit operator bool() const = delete; 59 60 inline icu4x::capi::DateTimeFormatterLoadError AsFFI() const; 61 inline static icu4x::DateTimeFormatterLoadError FromFFI(icu4x::capi::DateTimeFormatterLoadError c_enum); 62 private: 63 Value value; 64 }; 65 66 } // namespace 67 #endif // icu4x_DateTimeFormatterLoadError_D_HPP 68