1 #ifndef OSMIUM_GEOM_COORDINATES_HPP 2 #define OSMIUM_GEOM_COORDINATES_HPP 57 x(
std::numeric_limits<
double>::quiet_NaN()),
58 y(
std::numeric_limits<
double>::quiet_NaN()) {
86 return !std::isnan(x) && !std::isnan(y);
121 void append_to_string(std::string& s,
const char prefix,
const char infix,
const char suffix,
int precision)
const {
139 if (!lhs.valid() && !rhs.valid()) {
142 #pragma GCC diagnostic push 143 #pragma GCC diagnostic ignored "-Wfloat-equal" 144 return lhs.x == rhs.x && lhs.y == rhs.y;
145 #pragma GCC diagnostic pop 149 return !(lhs == rhs);
152 template <
typename TChar,
typename TTraits>
153 inline std::basic_ostream<TChar, TTraits>& operator<<(std::basic_ostream<TChar, TTraits>& out,
const Coordinates& c) {
154 return out <<
'(' << c.
x <<
',' << c.y <<
')';
161 #endif // OSMIUM_GEOM_COORDINATES_HPP double y
Definition: coordinates.hpp:51
bool valid() const noexcept
Definition: coordinates.hpp:85
Definition: location.hpp:550
T double2string(T iterator, double value, int precision)
Definition: double.hpp:56
Namespace for everything in the Osmium library.
Definition: assembler.hpp:53
Definition: coordinates.hpp:48
void append_to_string(std::string &s, const char prefix, const char infix, const char suffix, int precision) const
Definition: coordinates.hpp:121
Definition: location.hpp:271
Coordinates() noexcept
Definition: coordinates.hpp:56
void append_to_string(std::string &s, const char infix, int precision) const
Definition: coordinates.hpp:99
bool operator!=(const Coordinates &lhs, const Coordinates &rhs) noexcept
Definition: coordinates.hpp:148
double x
Definition: coordinates.hpp:50
Coordinates(double cx, double cy) noexcept
Definition: coordinates.hpp:65
Coordinates(const osmium::Location &location)
Definition: coordinates.hpp:77
bool operator==(const Coordinates &lhs, const Coordinates &rhs) noexcept
Definition: coordinates.hpp:138