Move coordinate constructors to header to enable inlining
This commit is contained in:
parent
212ad94c90
commit
21a76f1867
@ -127,10 +127,16 @@ struct Coordinate
|
|||||||
FixedLongitude lon;
|
FixedLongitude lon;
|
||||||
FixedLatitude lat;
|
FixedLatitude lat;
|
||||||
|
|
||||||
Coordinate();
|
Coordinate() : lon(std::numeric_limits<int>::min()), lat(std::numeric_limits<int>::min()) {}
|
||||||
|
|
||||||
Coordinate(const FloatCoordinate &other);
|
Coordinate(const FloatCoordinate &other);
|
||||||
Coordinate(const FixedLongitude lon_, const FixedLatitude lat_);
|
|
||||||
Coordinate(const FloatLongitude lon_, const FloatLatitude lat_);
|
Coordinate(const FloatLongitude lon_, const FloatLatitude lat_)
|
||||||
|
: Coordinate(toFixed(lon_), toFixed(lat_))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
Coordinate(const FixedLongitude lon_, const FixedLatitude lat_) : lon(lon_), lat(lat_) {}
|
||||||
|
|
||||||
template <class T> Coordinate(const T &coordinate) : lon(coordinate.lon), lat(coordinate.lat)
|
template <class T> Coordinate(const T &coordinate) : lon(coordinate.lon), lat(coordinate.lat)
|
||||||
{
|
{
|
||||||
@ -166,10 +172,22 @@ struct FloatCoordinate
|
|||||||
FloatLongitude lon;
|
FloatLongitude lon;
|
||||||
FloatLatitude lat;
|
FloatLatitude lat;
|
||||||
|
|
||||||
FloatCoordinate();
|
FloatCoordinate()
|
||||||
FloatCoordinate(const FixedLongitude lon_, const FixedLatitude lat_);
|
: lon(std::numeric_limits<double>::min()), lat(std::numeric_limits<double>::min())
|
||||||
FloatCoordinate(const FloatLongitude lon_, const FloatLatitude lat_);
|
{
|
||||||
FloatCoordinate(const Coordinate other);
|
}
|
||||||
|
|
||||||
|
FloatCoordinate(const Coordinate other)
|
||||||
|
: FloatCoordinate(toFloating(other.lon), toFloating(other.lat))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
FloatCoordinate(const FixedLongitude lon_, const FixedLatitude lat_)
|
||||||
|
: FloatCoordinate(toFloating(lon_), toFloating(lat_))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
FloatCoordinate(const FloatLongitude lon_, const FloatLatitude lat_) : lon(lon_), lat(lat_) {}
|
||||||
|
|
||||||
bool IsValid() const;
|
bool IsValid() const;
|
||||||
friend bool operator==(const FloatCoordinate lhs, const FloatCoordinate rhs);
|
friend bool operator==(const FloatCoordinate lhs, const FloatCoordinate rhs);
|
||||||
@ -181,6 +199,9 @@ bool operator==(const Coordinate lhs, const Coordinate rhs);
|
|||||||
bool operator==(const FloatCoordinate lhs, const FloatCoordinate rhs);
|
bool operator==(const FloatCoordinate lhs, const FloatCoordinate rhs);
|
||||||
std::ostream &operator<<(std::ostream &out, const Coordinate coordinate);
|
std::ostream &operator<<(std::ostream &out, const Coordinate coordinate);
|
||||||
std::ostream &operator<<(std::ostream &out, const FloatCoordinate coordinate);
|
std::ostream &operator<<(std::ostream &out, const FloatCoordinate coordinate);
|
||||||
|
|
||||||
|
inline Coordinate::Coordinate(const FloatCoordinate &other) : Coordinate(toFixed(other.lon), toFixed(other.lat)) {}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,24 +17,6 @@ namespace osrm
|
|||||||
namespace util
|
namespace util
|
||||||
{
|
{
|
||||||
|
|
||||||
Coordinate::Coordinate()
|
|
||||||
: lon(std::numeric_limits<int>::min()), lat(std::numeric_limits<int>::min())
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
Coordinate::Coordinate(const FloatCoordinate &other)
|
|
||||||
: Coordinate(toFixed(other.lon), toFixed(other.lat))
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
Coordinate::Coordinate(const FloatLongitude lon_, const FloatLatitude lat_)
|
|
||||||
: Coordinate(toFixed(lon_), toFixed(lat_))
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
Coordinate::Coordinate(const FixedLongitude lon_, const FixedLatitude lat_) : lon(lon_), lat(lat_)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Coordinate::IsValid() const
|
bool Coordinate::IsValid() const
|
||||||
{
|
{
|
||||||
@ -44,24 +26,6 @@ bool Coordinate::IsValid() const
|
|||||||
lon < FixedLongitude(-180 * COORDINATE_PRECISION));
|
lon < FixedLongitude(-180 * COORDINATE_PRECISION));
|
||||||
}
|
}
|
||||||
|
|
||||||
FloatCoordinate::FloatCoordinate()
|
|
||||||
: lon(std::numeric_limits<double>::min()), lat(std::numeric_limits<double>::min())
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
FloatCoordinate::FloatCoordinate(const Coordinate other)
|
|
||||||
: FloatCoordinate(toFloating(other.lon), toFloating(other.lat))
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
FloatCoordinate::FloatCoordinate(const FixedLongitude lon_, const FixedLatitude lat_)
|
|
||||||
: FloatCoordinate(toFloating(lon_), toFloating(lat_))
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
FloatCoordinate::FloatCoordinate(const FloatLongitude lon_, const FloatLatitude lat_) : lon(lon_), lat(lat_)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
bool FloatCoordinate::IsValid() const
|
bool FloatCoordinate::IsValid() const
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user