/srv/osrm/osrm-backend/include/util
Edit: /srv/osrm/osrm-backend/include/util/graph_traits.hpp (1245B)
#ifndef OSRM_GRAPH_TRAITS_HPP
#define OSRM_GRAPH_TRAITS_HPP
#include
namespace osrm::util::traits
{
// Introspection for an arbitrary .data member attribute
template struct HasDataMember : std::false_type
{
};
template
struct HasDataMember().data) > 0))> : std::true_type
{
};
// Introspection for an arbitrary .target member attribute
template struct HasTargetMember : std::false_type
{
};
template
struct HasTargetMember().target) > 0))> : std::true_type
{
};
// Our graphs require edges to have a .target and .data member attribute
template
struct HasDataAndTargetMember
: std::integral_constant::value && HasTargetMember::value>
{
};
// Our graphs require nodes to have a .first_edge member attribute
template struct HasFirstEdgeMember : std::false_type
{
};
template
struct HasFirstEdgeMember().first_edge) > 0))>
: std::true_type
{
};
} // namespace osrm::util::traits
#endif // STATIC_GRAPH_TRAITS_HPP