59#ifndef GUCOORDINATES_OPTIONALCOORDINATE_HPP
60#define GUCOORDINATES_OPTIONALCOORDINATE_HPP
62#if __cplusplus >= 201703L
68 template <
class Raw,
class Wrapped>
97#if __cplusplus >= 201703L
101 if (!other.has_value())
110#if __cplusplus >= 201103L
111#pragma clang diagnostic push
112#pragma clang diagnostic ignored "-Wc++98-compat"
116 other.set_has_value(0.0f);
118 other.set_value(Wrapped());
120#pragma clang diagnostic pop
147#if __cplusplus >= 201703L
151 if (!other.has_value())
161#if __cplusplus >= 201103L
162#pragma clang diagnostic push
163#pragma clang diagnostic ignored "-Wc++98-compat"
171 other.set_has_value(
false);
173 other.set_value(Wrapped());
176#pragma clang diagnostic pop
181 return Raw::has_value;
186 Raw::has_value = newValue;
196 Raw::value = newValue;
199#if __cplusplus >= 201703L
203 return std::optional<Wrapped>(
value());
OptionalCoordinate< Raw, Wrapped > & operator=(const OptionalCoordinate< Raw, Wrapped > &other) NOEXCEPT
void set_value(const Wrapped newValue) NOEXCEPT
OptionalCoordinate(const Wrapped t_value) NOEXCEPT
OptionalCoordinate(const Raw &other) NOEXCEPT
OptionalCoordinate(const std::optional< Wrapped > &other) NOEXCEPT
~OptionalCoordinate() NOEXCEPT
OptionalCoordinate< Raw, Wrapped > & operator=(const Raw &other) NOEXCEPT
OptionalCoordinate< Raw, Wrapped > & operator=(OptionalCoordinate< Raw, Wrapped > &&other) NOEXCEPT
bool has_value() const NOEXCEPT
OptionalCoordinate() NOEXCEPT
OptionalCoordinate(const OptionalCoordinate< Raw, Wrapped > &other) NOEXCEPT
Wrapped value() const NOEXCEPT
OptionalCoordinate(const bool t_has_value, const Wrapped t_value) NOEXCEPT
void set_has_value(const bool newValue) NOEXCEPT
OptionalCoordinate(OptionalCoordinate< Raw, Wrapped > &&other) NOEXCEPT
OptionalCoordinate< Raw, Wrapped > & operator=(const std::optional< Wrapped > &other) NOEXCEPT
std::optional< Wrapped > asOptional() const NOEXCEPT