Fix forward declarations in publicly facing osrm header

This commit is contained in:
Daniel J. Hofmann 2016-02-18 13:26:54 -08:00 committed by Patrick Niklaus
parent bd371a11ad
commit beafa18708
2 changed files with 36 additions and 31 deletions

View File

@ -28,39 +28,14 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifndef OSRM_HPP #ifndef OSRM_HPP
#define OSRM_HPP #define OSRM_HPP
#include "osrm/osrm_fwd.hpp"
#include "osrm/status.hpp" #include "osrm/status.hpp"
#include <memory> #include <memory>
namespace osrm namespace osrm
{ {
namespace json = util::json;
// Fwd decls
namespace util
{
namespace json
{
struct Object;
}
}
namespace engine
{
class Engine;
struct EngineConfig;
namespace api
{
struct RouteParameters;
struct TableParameters;
struct NearestParameters;
struct TripParameters;
struct MatchParameters;
}
}
// End fwd decls
using engine::EngineConfig; using engine::EngineConfig;
using engine::api::RouteParameters; using engine::api::RouteParameters;
using engine::api::TableParameters; using engine::api::TableParameters;
@ -68,10 +43,6 @@ using engine::api::NearestParameters;
using engine::api::TripParameters; using engine::api::TripParameters;
using engine::api::MatchParameters; using engine::api::MatchParameters;
namespace json = util::json;
// OSRM API
class OSRM final class OSRM final
{ {
public: public:

34
include/osrm/osrm_fwd.hpp Normal file
View File

@ -0,0 +1,34 @@
#ifndef OSRM_FWD_HPP
#define OSRM_FWD_HPP
// OSRM API forward declarations for usage in interfaces. Exposes forward declarations for:
// osrm::util::json::Object, osrm::engine::api::XParameters
namespace osrm
{
namespace util
{
namespace json
{
struct Object;
} // ns json
} // ns util
namespace engine
{
namespace api
{
struct RouteParameters;
struct TableParameters;
struct NearestParameters;
struct TripParameters;
struct MatchParameters;
} // ns api
class Engine;
struct EngineConfig;
} // ns engine
} // ns osrm
#endif