2014-11-28 06:13:18 -05:00
|
|
|
#ifndef EXTERNAL_MEMORY_NODE_HPP_
|
|
|
|
#define EXTERNAL_MEMORY_NODE_HPP_
|
2012-08-27 11:40:59 -04:00
|
|
|
|
2016-01-02 11:13:44 -05:00
|
|
|
#include "extractor/query_node.hpp"
|
2012-08-29 12:33:18 -04:00
|
|
|
|
2016-01-02 11:13:44 -05:00
|
|
|
#include "util/typedefs.hpp"
|
2014-05-10 08:54:46 -04:00
|
|
|
|
2016-01-05 10:51:13 -05:00
|
|
|
namespace osrm
|
|
|
|
{
|
|
|
|
namespace extractor
|
|
|
|
{
|
|
|
|
|
2014-08-29 06:37:07 -04:00
|
|
|
struct ExternalMemoryNode : QueryNode
|
2014-05-07 12:39:16 -04:00
|
|
|
{
|
2016-01-07 13:19:55 -05:00
|
|
|
ExternalMemoryNode(int lat, int lon, OSMNodeID node_id, bool barrier, bool traffic_lights)
|
|
|
|
: QueryNode(lat, lon, node_id), barrier(barrier), traffic_lights(traffic_lights)
|
|
|
|
{
|
|
|
|
}
|
2014-02-18 13:26:57 -05:00
|
|
|
|
2016-01-07 13:19:55 -05:00
|
|
|
ExternalMemoryNode() : barrier(false), traffic_lights(false) {}
|
2014-05-07 12:39:16 -04:00
|
|
|
|
2016-01-07 13:19:55 -05:00
|
|
|
static ExternalMemoryNode min_value()
|
|
|
|
{
|
|
|
|
return ExternalMemoryNode(0, 0, MIN_OSM_NODEID, false, false);
|
|
|
|
}
|
2014-02-18 13:26:57 -05:00
|
|
|
|
2016-01-07 13:19:55 -05:00
|
|
|
static ExternalMemoryNode max_value()
|
|
|
|
{
|
|
|
|
return ExternalMemoryNode(std::numeric_limits<int>::max(), std::numeric_limits<int>::max(),
|
|
|
|
MAX_OSM_NODEID, false, false);
|
|
|
|
}
|
2014-05-07 12:39:16 -04:00
|
|
|
|
2014-08-29 06:28:10 -04:00
|
|
|
bool barrier;
|
|
|
|
bool traffic_lights;
|
2012-08-29 12:33:18 -04:00
|
|
|
};
|
2012-08-27 11:40:59 -04:00
|
|
|
|
2014-08-29 06:07:00 -04:00
|
|
|
struct ExternalMemoryNodeSTXXLCompare
|
|
|
|
{
|
|
|
|
using value_type = ExternalMemoryNode;
|
2016-01-07 13:19:55 -05:00
|
|
|
value_type max_value() { return value_type::max_value(); }
|
|
|
|
value_type min_value() { return value_type::min_value(); }
|
|
|
|
bool operator()(const value_type &left, const value_type &right) const
|
|
|
|
{
|
|
|
|
return left.node_id < right.node_id;
|
|
|
|
}
|
2014-08-29 06:07:00 -04:00
|
|
|
};
|
2016-01-05 10:51:13 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-11-28 06:13:18 -05:00
|
|
|
#endif /* EXTERNAL_MEMORY_NODE_HPP_ */
|