ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
ICU4XLogger.hpp
Go to the documentation of this file.
1#ifndef ICU4XLogger_HPP
2#define ICU4XLogger_HPP
3#include <stdint.h>
4#include <stddef.h>
5#include <stdbool.h>
6#include <algorithm>
7#include <memory>
8#include <variant>
9#include <optional>
10#include "diplomat_runtime.hpp"
11
12#include "ICU4XLogger.h"
13
14
18struct ICU4XLoggerDeleter {
19 void operator()(capi::ICU4XLogger* l) const noexcept {
20 capi::ICU4XLogger_destroy(l);
21 }
22};
23
28 public:
29
37 static bool init_simple_logger();
38
42 static bool init_console_logger();
43 inline const capi::ICU4XLogger* AsFFI() const { return this->inner.get(); }
44 inline capi::ICU4XLogger* AsFFIMut() { return this->inner.get(); }
45 inline explicit ICU4XLogger(capi::ICU4XLogger* i) : inner(i) {}
46 ICU4XLogger() = default;
47 ICU4XLogger(ICU4XLogger&&) noexcept = default;
48 ICU4XLogger& operator=(ICU4XLogger&& other) noexcept = default;
49 private:
50 std::unique_ptr<capi::ICU4XLogger, ICU4XLoggerDeleter> inner;
51};
52
53
55 return capi::ICU4XLogger_init_simple_logger();
56}
58 return capi::ICU4XLogger_init_console_logger();
59}
60#endif
static bool init_simple_logger()
Definition ICU4XLogger.hpp:54
ICU4XLogger()=default
ICU4XLogger(capi::ICU4XLogger *i)
Definition ICU4XLogger.hpp:45
ICU4XLogger(ICU4XLogger &&) noexcept=default
static bool init_console_logger()
Definition ICU4XLogger.hpp:57