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