ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
ICU4XUnitsConverter.hpp
Go to the documentation of this file.
1#ifndef ICU4XUnitsConverter_HPP
2#define ICU4XUnitsConverter_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 "ICU4XUnitsConverter.h"
13
15
19struct ICU4XUnitsConverterDeleter {
20 void operator()(capi::ICU4XUnitsConverter* l) const noexcept {
21 capi::ICU4XUnitsConverter_destroy(l);
22 }
23};
24
33 public:
34
42 double convert_f64(double value) const;
43
50 inline const capi::ICU4XUnitsConverter* AsFFI() const { return this->inner.get(); }
51 inline capi::ICU4XUnitsConverter* AsFFIMut() { return this->inner.get(); }
52 inline explicit ICU4XUnitsConverter(capi::ICU4XUnitsConverter* i) : inner(i) {}
55 ICU4XUnitsConverter& operator=(ICU4XUnitsConverter&& other) noexcept = default;
56 private:
57 std::unique_ptr<capi::ICU4XUnitsConverter, ICU4XUnitsConverterDeleter> inner;
58};
59
60
61inline double ICU4XUnitsConverter::convert_f64(double value) const {
62 return capi::ICU4XUnitsConverter_convert_f64(this->inner.get(), value);
63}
65 return ICU4XUnitsConverter(capi::ICU4XUnitsConverter_clone(this->inner.get()));
66}
67#endif
Definition ICU4XUnitsConverter.hpp:32
double convert_f64(double value) const
Definition ICU4XUnitsConverter.hpp:61
ICU4XUnitsConverter(capi::ICU4XUnitsConverter *i)
Definition ICU4XUnitsConverter.hpp:52
ICU4XUnitsConverter()=default
ICU4XUnitsConverter clone() const
Definition ICU4XUnitsConverter.hpp:64
ICU4XUnitsConverter(ICU4XUnitsConverter &&) noexcept=default