osrm-backend/include/extractor/extraction_relation.hpp
2017-09-14 20:00:05 +02:00

61 lines
1023 B
C++

#ifndef EXTRACTION_RELATION_HPP
#define EXTRACTION_RELATION_HPP
#include "util/osm_id_typed.hpp"
#include <string>
#include <unordered_map>
namespace osrm
{
namespace extractor
{
namespace detail
{
inline const char * checkedString(const char * str)
{
return str ? str : "";
}
} // namespace detail
struct ExtractionRelation
{
using AttributesMap = std::unordered_map<std::string, std::string>;
ExtractionRelation()
: is_restriction(false)
{
}
void clear()
{
is_restriction = false;
values.clear();
}
bool IsRestriction() const
{
return is_restriction;
}
AttributesMap & GetMember(util::OsmIDTyped id)
{
return values[id.Hash()];
}
// AttributesMap & operator[] (util::OsmIDTyped id)
// {
// return values[id];
// }
bool is_restriction;
std::unordered_map<util::OsmIDTyped::HashType, AttributesMap> values;
};
} // namespace extractor
} // namespace osrm
#endif // EXTRACTION_RELATION_HPP