Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
contraction_hierarchy.h File Reference
#include <routingkit/id_queue.h>
#include <routingkit/timestamp_flag.h>
#include <routingkit/bit_vector.h>
#include <routingkit/permutation.h>
#include <vector>
#include <string>
#include <functional>
#include <cassert>
#include <type_traits>
#include <limits.h>
Include dependency graph for contraction_hierarchy.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  RoutingKit::ContractionHierarchy
 
struct  RoutingKit::ContractionHierarchy::Side
 
struct  RoutingKit::ContractionHierarchyExtraWeight< Weight >
 
class  RoutingKit::ContractionHierarchyQuery
 
struct  RoutingKit::detail::GetExtraWeightTypeHelper< T >
 
struct  RoutingKit::detail::GetExtraWeightTypeHelper< ContractionHierarchyExtraWeight< T > >
 
struct  RoutingKit::detail::InverseLinkFunction< LinkFunction >
 
struct  RoutingKit::detail::InvertShorcutWeights< ShortcutWeights >
 
struct  RoutingKit::detail::ShortcutWeights< InputWeightContainer, LinkFunction >
 
struct  RoutingKit::detail::ShortcutWeights< ContractionHierarchyExtraWeight< WeightT >, LinkFunction >
 
struct  RoutingKit::SaturatedWeightAddition
 

Namespaces

namespace  RoutingKit
 
namespace  RoutingKit::detail
 

Typedefs

template<class T >
using RoutingKit::detail::GetExtraWeightType = typename GetExtraWeightTypeHelper< T >::type
 
template<class T >
using RoutingKit::detail::ReturnTypeWhenPassedIntOf = typename std::remove_const< typename std::remove_reference< decltype(std::declval< T >()(1))>::type >::type
 
template<class T >
using RoutingKit::detail::ValueTypeOfContainer = typename std::remove_const< typename std::remove_reference< decltype(std::declval< T >()[1])>::type >::type
 

Functions

void RoutingKit::check_contraction_hierarchy_for_errors (const ContractionHierarchy &ch)
 
template int RoutingKit::ContractionHierarchyQuery::get_extra_weight_distance< std::vector< int >, SaturatedWeightAddition > (const std::vector< int > &, const SaturatedWeightAddition &)
 
template unsigned RoutingKit::ContractionHierarchyQuery::get_extra_weight_distance< std::vector< unsigned >, SaturatedWeightAddition > (const std::vector< unsigned > &, const SaturatedWeightAddition &)
 
template<class LinkFunction , class ExtraWeight , class TmpContainer , class DistContainer >
void RoutingKit::detail::extract_distances_to_targets (const std::vector< unsigned > &target_list, unsigned target_count, const TimestampFlags &has_forward_predecessor, const std::vector< unsigned > &forward_predecessor_node, const std::vector< unsigned > &predecessor_arc, const ExtraWeight &extra_weight, const std::vector< unsigned > &forward_first_out, const std::vector< unsigned > &forward_head, const std::vector< unsigned > &backward_first_out, const std::vector< unsigned > &backward_head, TmpContainer &source_to_node_distance, TimestampFlags &has_source_to_node_distance, DistContainer &output, std::vector< unsigned > &stack, const LinkFunction &link)
 
template<class GetForwardWeight , class LinkFunction >
ReturnTypeWhenPassedIntOf< GetForwardWeight > RoutingKit::detail::get_extra_weight_up_distance (unsigned shortest_path_meeting_node, const std::vector< unsigned > &forward_predecessor_node, const std::vector< unsigned > &forward_predecessor_arc, const GetForwardWeight &get_forward_extra_weight, const LinkFunction &link)
 
template<class ShortcutWeights , class LinkFunction >
ShortcutWeights::Weight RoutingKit::detail::internal_get_extra_weight_distance (const ShortcutWeights &shortcut_weights, const LinkFunction &link, unsigned shortest_path_meeting_node, const std::vector< unsigned > &forward_predecessor_node, const std::vector< unsigned > &forward_predecessor_arc, const std::vector< unsigned > &backward_predecessor_node, const std::vector< unsigned > &backward_predecessor_arc)
 
template<class LinkFunction >
InverseLinkFunction< LinkFunction > RoutingKit::detail::inverse_link_function (const LinkFunction &link)
 
template<class ShortcutWeights >
InvertShorcutWeights< ShortcutWeightsRoutingKit::detail::inverse_shortcut_weights (const ShortcutWeights &shortcut_weights)
 
template<class ExtraWeight , class LinkFunction >
ShortcutWeights< ExtraWeight, LinkFunction > RoutingKit::detail::make_shortcut_weights (const ExtraWeight &extra_weight, const LinkFunction &link, const ContractionHierarchy &ch)