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()) {
83 return !std::isnan(x) && !std::isnan(y);
118 void append_to_string(std::string& s,
const char prefix,
const char infix,
const char suffix,
int precision)
const {
136 if (!lhs.valid() && !rhs.valid()) {
139 #pragma GCC diagnostic push
140 #pragma GCC diagnostic ignored "-Wfloat-equal"
141 return lhs.x == rhs.x && lhs.y == rhs.y;
142 #pragma GCC diagnostic pop
149 template <
typename TChar,
typename TTraits>
150 inline std::basic_ostream<TChar, TTraits>& operator<<(std::basic_ostream<TChar, TTraits>& out,
const Coordinates& c) {
151 return out <<
'(' << c.
x <<
',' << c.y <<
')';
158 #endif // OSMIUM_GEOM_COORDINATES_HPP
double y
Definition: coordinates.hpp:51
bool valid() const noexcept
Definition: coordinates.hpp:82
Definition: reader_iterator.hpp:39
T double2string(T iterator, double value, int precision)
Definition: double.hpp:58
Namespace for everything in the Osmium library.
Definition: assembler.hpp:73
Definition: coordinates.hpp:48
void append_to_string(std::string &s, const char infix, int precision) const
Definition: coordinates.hpp:96
void append_to_string(std::string &s, const char prefix, const char infix, const char suffix, int precision) const
Definition: coordinates.hpp:118
Definition: location.hpp:266
Coordinates() noexcept
Definition: coordinates.hpp:56
bool operator!=(const Coordinates &lhs, const Coordinates &rhs) noexcept
Definition: coordinates.hpp:145
double x
Definition: coordinates.hpp:50
Coordinates(double cx, double cy) noexcept
Definition: coordinates.hpp:65
Coordinates(const osmium::Location &location)
Definition: coordinates.hpp:74
bool operator==(const Coordinates &lhs, const Coordinates &rhs) noexcept
Definition: coordinates.hpp:135