1 #ifndef icu4x_MeasureUnit_D_HPP 2 #define icu4x_MeasureUnit_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 struct MeasureUnit; 17 } // namespace capi 18 } // namespace 19 20 namespace icu4x { 21 class MeasureUnit { 22 public: 23 24 inline const icu4x::capi::MeasureUnit* AsFFI() const; 25 inline icu4x::capi::MeasureUnit* AsFFI(); 26 inline static const icu4x::MeasureUnit* FromFFI(const icu4x::capi::MeasureUnit* ptr); 27 inline static icu4x::MeasureUnit* FromFFI(icu4x::capi::MeasureUnit* ptr); 28 inline static void operator delete(void* ptr); 29 private: 30 MeasureUnit() = delete; 31 MeasureUnit(const icu4x::MeasureUnit&) = delete; 32 MeasureUnit(icu4x::MeasureUnit&&) noexcept = delete; 33 MeasureUnit operator=(const icu4x::MeasureUnit&) = delete; 34 MeasureUnit operator=(icu4x::MeasureUnit&&) noexcept = delete; 35 static void operator delete[](void*, size_t) = delete; 36 }; 37 38 } // namespace 39 #endif // icu4x_MeasureUnit_D_HPP 40