34 void applyIfValue(std::optional<T>& value, std::function<
void(
const T&)> func);
44 void applyIfValueOrElse(std::optional<T>& value, std::function<
void(
const T&)> func, std::function<
void()> fallback);
69 constexpr Optional(std::nullopt_t null)
noexcept;
76 constexpr Optional(
const std::optional<T>& other);
83 constexpr Optional(std::optional<T>&& other)
noexcept;
91 Optional(
const std::optional<U>& other);
108 template<
typename... Args>
109 constexpr explicit Optional(std::in_place_t inplace, Args&&... args);
119 template<
typename U,
typename... Args>
120 constexpr explicit Optional(std::in_place_t inplace, std::initializer_list<U> ilist, Args&&... args);
127 template<
typename U = T>
148 void ifValue(std::function<
void(
const T&)> func);
156 void ifValueOrElse(std::function<
void(
const T&)> func, std::function<
void()> fallback);
174 applyIfValue(std::optional<T>& value, std::function<
void(
const T&)> func) {
182 applyIfValueOrElse(std::optional<T>& value, std::function<
void(
const T&)> func, std::function<
void()> fallback) {
223 template<
typename... Args>
229 template<
typename U,
typename... Args>
231 : std::optional<T>(inplace, ilist, args...) {
249 if(this->has_value()) {
257 if(this->has_value()) {
269 if(this->has_value()) {
270 val = mapper(this->value());
std::optional usefull methods.
Definition optional.hpp:56
constexpr Optional() noexcept
Definition optional.hpp:191
virtual ~Optional()
Definition optional.hpp:242
void ifValue(std::function< void(const T &)> func)
Definition optional.hpp:248
void ifValueOrElse(std::function< void(const T &)> func, std::function< void()> fallback)
Definition optional.hpp:256
Optional< U > map(std::function< U(const T &)> mapper) const
Definition optional.hpp:267
AnCH framework base namespace.
Definition app.hpp:28
void applyIfValue(std::optional< T > &value, std::function< void(const T &)> func)
Definition optional.hpp:174
void applyIfValueOrElse(std::optional< T > &value, std::function< void(const T &)> func, std::function< void()> fallback)
Definition optional.hpp:182