diff --git a/util/bearing.cpp b/util/bearing.cpp deleted file mode 100644 index 48fd7f92b..000000000 --- a/util/bearing.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/* - -Copyright (c) 2015, Project OSRM contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list -of conditions and the following disclaimer. -Redistributions in binary form must reproduce the above copyright notice, this -list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#include "bearing.hpp" - -std::string bearing::get(const double heading) noexcept -{ - if (heading <= 22.5) - { - return "N"; - } - if (heading <= 67.5) - { - return "NE"; - } - if (heading <= 112.5) - { - return "E"; - } - if (heading <= 157.5) - { - return "SE"; - } - if (heading <= 202.5) - { - return "S"; - } - if (heading <= 247.5) - { - return "SW"; - } - if (heading <= 292.5) - { - return "W"; - } - if (heading <= 337.5) - { - return "NW"; - } - return "N"; -} diff --git a/util/bearing.hpp b/util/bearing.hpp index 8b16ebc16..2b05972f3 100644 --- a/util/bearing.hpp +++ b/util/bearing.hpp @@ -28,11 +28,50 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef BEARING_HPP #define BEARING_HPP +#include #include -struct bearing +namespace bearing { - static std::string get(const double heading) noexcept; -}; +inline std::string get(const double heading) +{ + BOOST_ASSERT(heading >= 0); + BOOST_ASSERT(heading <= 360); + + if (heading <= 22.5) + { + return "N"; + } + if (heading <= 67.5) + { + return "NE"; + } + if (heading <= 112.5) + { + return "E"; + } + if (heading <= 157.5) + { + return "SE"; + } + if (heading <= 202.5) + { + return "S"; + } + if (heading <= 247.5) + { + return "SW"; + } + if (heading <= 292.5) + { + return "W"; + } + if (heading <= 337.5) + { + return "NW"; + } + return "N"; +} +} #endif // BEARING_HPP