Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
RoutingKit Namespace Reference

Namespaces

namespace  detail
 

Data Structures

class  BitVector
 
class  BlockingFlow
 
class  ContractionHierarchy
 
struct  ContractionHierarchyExtraWeight
 
class  ContractionHierarchyQuery
 
struct  CustomizableContractionHierarchy
 
struct  CustomizableContractionHierarchyMetric
 
struct  CustomizableContractionHierarchyParallelization
 
struct  CustomizableContractionHierarchyPartialCustomization
 
struct  CustomizableContractionHierarchyQuery
 
struct  CutSide
 
struct  GraphFragment
 
struct  IDKeyPair
 
class  IDMapper
 
class  IDSetMinQueue
 
class  LocalIDMapper
 
class  MinIDQueue
 
struct  SaturatedWeightAddition
 
struct  SeparatorDecomposition
 
class  TimestampFlags
 

Functions

template<class T >
std::vector< T > apply_inverse_permutation (const std::vector< unsigned > &p, const std::vector< T > &v)
 
template<class T >
std::vector< T > apply_inverse_permutation (const std::vector< unsigned > &p, std::vector< T > &&v)
 
template<class T >
std::vector< T > apply_permutation (const std::vector< unsigned > &p, const std::vector< T > &v)
 
template<class T >
std::vector< T > apply_permutation (const std::vector< unsigned > &p, std::vector< T > &&v)
 
std::vector< unsigned > apply_permutation_to_elements_of (const std::vector< unsigned > &p, const std::vector< unsigned > &v)
 
std::vector< unsigned > apply_permutation_to_possibly_invalid_elements_of (const std::vector< unsigned > &p, const std::vector< unsigned > &v)
 
void assert_fragment_is_valid (const GraphFragment &fragment)
 
uint64_t bit_select (uint64_t uint512_count, const uint64_t *uint512_rank, const uint64_t *data, uint64_t n)
 
std::vector< unsigned > chain_permutation_first_left_then_right (const std::vector< unsigned > &p, const std::vector< unsigned > &q)
 
std::vector< unsigned > chain_permutation_first_right_then_left (const std::vector< unsigned > &p, const std::vector< unsigned > &q)
 
void check_contraction_hierarchy_for_errors (const ContractionHierarchy &ch)
 
std::vector< unsigned > compute_inverse_sort_permutation_first_by_left_then_by_right (unsigned a_count, const std::vector< unsigned > &a, unsigned b_count, const std::vector< unsigned > &b)
 
std::vector< unsigned > compute_inverse_sort_permutation_first_by_left_then_by_right_and_apply_sort_to_left (unsigned a_count, std::vector< unsigned > &a, unsigned b_count, const std::vector< unsigned > &b)
 
std::vector< unsigned > compute_inverse_sort_permutation_first_by_tail_then_by_head (unsigned node_count, const std::vector< unsigned > &tail, const std::vector< unsigned > &head)
 
std::vector< unsigned > compute_inverse_sort_permutation_first_by_tail_then_by_head_and_apply_sort_to_tail (unsigned node_count, std::vector< unsigned > &tail, const std::vector< unsigned > &head)
 
template<class T , class C >
std::vector< unsigned > compute_inverse_sort_permutation_using_comparator (const std::vector< T > &v, const C &is_less)
 
template<class T , class K >
std::vector< unsigned > compute_inverse_sort_permutation_using_key (const std::vector< T > &v, unsigned key_count, const K &get_key)
 
template<class T >
std::vector< unsigned > compute_inverse_sort_permutation_using_less (const std::vector< T > &v)
 
template<class T , class C >
std::vector< unsigned > compute_inverse_stable_sort_permutation_using_comparator (const std::vector< T > &v, const C &is_less)
 
template<class T , class K >
std::vector< unsigned > compute_inverse_stable_sort_permutation_using_key (const std::vector< T > &v, unsigned key_count, const K &get_key)
 
template<class T >
std::vector< unsigned > compute_inverse_stable_sort_permutation_using_less (const std::vector< T > &v)
 
std::vector< unsigned > compute_nested_node_dissection_order (GraphFragment fragment, const std::function< BitVector(const GraphFragment &)> &compute_separator, const std::function< void(const std::string &)> &log_message=[](const std::string &){})
 
std::vector< unsigned > compute_nested_node_dissection_order_using_inertial_flow (unsigned node_count, const std::vector< unsigned > &tail, const std::vector< unsigned > &head, const std::vector< float > &latitude, const std::vector< float > &longitude, const std::function< void(const std::string &)> &log_message=[](const std::string &){})
 
SeparatorDecomposition compute_separator_decomposition (GraphFragment fragment, const std::function< BitVector(const GraphFragment &)> &compute_separator, const std::function< void(const std::string &)> &log_message=[](const std::string &){})
 
std::vector< unsigned > compute_sort_permutation_first_by_left_then_by_right (unsigned a_count, const std::vector< unsigned > &a, unsigned b_count, const std::vector< unsigned > &b)
 
std::vector< unsigned > compute_sort_permutation_first_by_left_then_by_right_and_apply_sort_to_left (unsigned a_count, std::vector< unsigned > &a, unsigned b_count, const std::vector< unsigned > &b)
 
std::vector< unsigned > compute_sort_permutation_first_by_tail_then_by_head (unsigned node_count, const std::vector< unsigned > &tail, const std::vector< unsigned > &head)
 
std::vector< unsigned > compute_sort_permutation_first_by_tail_then_by_head_and_apply_sort_to_tail (unsigned node_count, std::vector< unsigned > &tail, const std::vector< unsigned > &head)
 
template<class T , class C >
std::vector< unsigned > compute_sort_permutation_using_comparator (const std::vector< T > &v, const C &is_less)
 
template<class T , class K >
std::vector< unsigned > compute_sort_permutation_using_key (const std::vector< T > &v, unsigned key_count, const K &get_key)
 
template<class T >
std::vector< unsigned > compute_sort_permutation_using_less (const std::vector< T > &v)
 
template<class T , class C >
std::vector< unsigned > compute_stable_sort_permutation_using_comparator (const std::vector< T > &v, const C &is_less)
 
template<class T , class K >
std::vector< unsigned > compute_stable_sort_permutation_using_key (const std::vector< T > &v, unsigned key_count, const K &get_key)
 
template<class T >
std::vector< unsigned > compute_stable_sort_permutation_using_less (const std::vector< T > &v)
 
template int ContractionHierarchyQuery::get_extra_weight_distance< std::vector< int >, SaturatedWeightAddition > (const std::vector< int > &, const SaturatedWeightAddition &)
 
template unsigned ContractionHierarchyQuery::get_extra_weight_distance< std::vector< unsigned >, SaturatedWeightAddition > (const std::vector< unsigned > &, const SaturatedWeightAddition &)
 
std::vector< unsigned > convert_arc_path_to_node_path (unsigned source, const std::vector< unsigned > &head, std::vector< unsigned >path)
 
std::vector< unsigned > convert_node_path_to_arc_path (const std::vector< unsigned > &first_out, const std::vector< unsigned > &head, std::vector< unsigned >path)
 
std::vector< GraphFragmentdecompose_graph_fragment_into_connected_components (GraphFragment fragment)
 
BitVector derive_separator_from_cut (const GraphFragment &fragment, const BitVector &cut)
 
unsigned find_arc (const std::vector< unsigned > &first_out, const std::vector< unsigned > &head, unsigned x, unsigned y)
 
unsigned find_arc_given_sorted_head (const std::vector< unsigned > &first_out, const std::vector< unsigned > &head, unsigned x, unsigned y)
 
unsigned find_arc_or_return_invalid (const std::vector< unsigned > &first_out, const std::vector< unsigned > &head, unsigned x, unsigned y)
 
unsigned find_arc_or_return_invalid_given_sorted_head (const std::vector< unsigned > &first_out, const std::vector< unsigned > &head, unsigned x, unsigned y)
 
template<class T >
unsigned first_max_element_position_of (const std::vector< T > &v)
 
template<class T >
unsigned first_min_element_position_of (const std::vector< T > &v)
 
long long get_micro_time ()
 
std::vector< unsigned > identity_permutation (unsigned n)
 
CutSide inertial_flow (const GraphFragment &fragment, const std::vector< float > &latitude, const std::vector< float > &longitude, const std::function< void(const std::string &)> &log_message=[](const std::string &){})
 
CutSide inertial_flow (const GraphFragment &fragment, unsigned min_balance, const std::vector< float > &latitude, const std::vector< float > &longitude, const std::function< void(const std::string &)> &log_message=[](const std::string &){})
 
void inplace_apply_permutation_to_elements_of (const std::vector< unsigned > &p, std::vector< unsigned > &v)
 
void inplace_apply_permutation_to_possibly_invalid_elements_of (const std::vector< unsigned > &p, std::vector< unsigned > &v)
 
template<class T >
void inplace_keep_element_of_vector_if (const BitVector &keep_filter, std::vector< T > &vec)
 
template<class T >
void inplace_remove_element_from_vector_if (const BitVector &remove_filter, std::vector< T > &vec)
 
std::vector< unsigned > invert_inverse_vector (const std::vector< unsigned > &sorted_index)
 
std::vector< unsigned > invert_permutation (const std::vector< unsigned > &p)
 
std::vector< unsigned > invert_vector (const std::vector< unsigned > &v, unsigned element_count)
 
bool is_permutation (const std::vector< unsigned > &p)
 
template<class T , class C >
bool is_sorted_using_comparator (const std::vector< T > &v, const C &is_less)
 
template<class T , class K >
bool is_sorted_using_key (const std::vector< T > &v, unsigned key_count, const K &get_key)
 
template<class T >
bool is_sorted_using_less (const std::vector< T > &v)
 
template<class T >
std::vector< T > keep_element_of_vector_if (const BitVector &keep_filter, std::vector< T >vec)
 
BitVector load_bit_vector (const std::string &file_name)
 
template<class T >
load_value (const std::string &file_name)
 
template<class T >
std::vector< T > load_vector (const std::string &file_name)
 
template<>
std::vector< std::string > load_vector< std::string > (const std::string &file_name)
 
template<class F >
BitVector make_bit_vector (uint64_t size, const F &f)
 
GraphFragment make_graph_fragment (unsigned node_count, const std::vector< unsigned > &tail, const std::vector< unsigned > &head)
 
template<class T >
const T & max_element_of (const std::vector< T > &v)
 
template<class T >
const T & max_element_of (const std::vector< T > &v, const T &empty_value)
 
template<class T >
void max_to (T &x, const T &y)
 
template<class T >
const T & min_element_of (const std::vector< T > &v)
 
template<class T >
const T & min_element_of (const std::vector< T > &v, const T &empty_value)
 
template<class T >
void min_to (T &x, const T &y)
 
template<class F >
void open_file_for_loading (const std::string &file_name, const F &f)
 
template<class F >
void open_file_for_saving (const std::string &file_name, const F &f)
 
bool operator!= (const BitVector &l, const BitVector &r)
 
BitVector operator& (BitVector &&l, BitVector &&r)
 
BitVector operator& (BitVector &&l, const BitVector &r)
 
BitVector operator& (const BitVector &l, BitVector &&r)
 
BitVector operator& (const BitVector &l, const BitVector &r)
 
bool operator< (const BitVector &l, const BitVector &r)
 
bool operator<= (const BitVector &l, const BitVector &r)
 
bool operator== (const BitVector &l, const BitVector &r)
 
bool operator> (const BitVector &l, const BitVector &r)
 
bool operator>= (const BitVector &l, const BitVector &r)
 
BitVector operator^ (BitVector &&l, BitVector &&r)
 
BitVector operator^ (BitVector &&l, const BitVector &r)
 
BitVector operator^ (const BitVector &l, BitVector &&r)
 
BitVector operator^ (const BitVector &l, const BitVector &r)
 
BitVector operator| (BitVector &&l, BitVector &&r)
 
BitVector operator| (BitVector &&l, const BitVector &r)
 
BitVector operator| (const BitVector &l, BitVector &&r)
 
BitVector operator| (const BitVector &l, const BitVector &r)
 
void pick_smaller_side (CutSide &cut)
 
template<class RandomGenerator >
std::vector< unsigned > random_permutation (unsigned n, RandomGenerator &&gen)
 
BitVector read_bit_vector (const std::function< void(char *, unsigned long long)> &in, unsigned long long size)
 
template<class T >
read_value (const std::function< void(char *, unsigned long long)> &in)
 
template<class T >
read_value (std::istream &in)
 
template<class T >
std::vector< T > read_vector (const std::function< void(char *, unsigned long long)> &in, unsigned long long size)
 
template<class T >
std::vector< T > read_vector (std::istream &in, unsigned long long size)
 
template<class T >
std::vector< T > remove_element_from_vector_if (const BitVector &keep_filter, std::vector< T >vec)
 
void save_bit_vector (const std::string &file_name, const BitVector &vec)
 
template<class T >
void save_value (const std::string &file_name, const T &val)
 
template<class T >
void save_vector (const std::string &file_name, const std::vector< T > &vec)
 
template<>
void save_vector< std::string > (const std::string &file_name, const std::vector< std::string > &vec)
 
uint64_t skip_empty_uint512 (uint64_t &uint512_count, const uint64_t *&uint512_rank, const uint64_t *&data)
 
template<class T , class C >
std::vector< T > sort_using_comparator (const std::vector< T > &v, const C &is_less)
 
template<class T , class C >
std::vector< T > sort_using_comparator (std::vector< T > &&v, const C &is_less)
 
template<class T , class K >
std::vector< T > sort_using_key (const std::vector< T > &v, unsigned key_count, const K &get_key)
 
template<class T , class K >
std::vector< T > sort_using_key (std::vector< T > &&v, unsigned key_count, const K &get_key)
 
template<class T >
std::vector< T > sort_using_less (const std::vector< T > &v)
 
template<class T >
std::vector< T > sort_using_less (std::vector< T > &&v)
 
template<class T , class C >
std::vector< T > stable_sort_using_comparator (const std::vector< T > &v, const C &is_less)
 
template<class T , class C >
std::vector< T > stable_sort_using_comparator (std::vector< T > &&v, const C &is_less)
 
template<class T , class K >
std::vector< T > stable_sort_using_key (const std::vector< T > &v, unsigned key_count, const K &get_key)
 
template<class T , class K >
std::vector< T > stable_sort_using_key (std::vector< T > &&v, unsigned key_count, const K &get_key)
 
template<class T >
std::vector< T > stable_sort_using_less (const std::vector< T > &v)
 
template<class T >
std::vector< T > stable_sort_using_less (std::vector< T > &&v)
 
uint32_t uint512_bit_select (const uint64_t *block, uint32_t n)
 
uint32_t uint64_bit_select (uint64_t word, uint32_t n)
 
void write_bit_vector (const std::function< void(const char *, unsigned long long)> &out, const BitVector &v)
 
template<class T >
void write_value (const std::function< void(const char *, unsigned long long)> &out, const T &val)
 
template<class T >
void write_value (std::ostream &out, const T &val)
 
template<class T >
void write_vector (const std::function< void(const char *, unsigned long long)> &out, const std::vector< T > &v)
 
template<class T >
void write_vector (std::ostream &out, const std::vector< T > &v)
 

Variables

bool expect_failed = false
 
const unsigned inf_weight = 2147483647u
 
const unsigned invalid_id = 4294967295u
 

Function Documentation

◆ apply_inverse_permutation() [1/2]

template<class T >
std::vector< T > RoutingKit::apply_inverse_permutation ( const std::vector< unsigned > &  p,
const std::vector< T > &  v 
)

◆ apply_inverse_permutation() [2/2]

template<class T >
std::vector< T > RoutingKit::apply_inverse_permutation ( const std::vector< unsigned > &  p,
std::vector< T > &&  v 
)

Definition at line 84 of file permutation.h.

References is_permutation().

◆ apply_permutation() [1/2]

template<class T >
std::vector< T > RoutingKit::apply_permutation ( const std::vector< unsigned > &  p,
const std::vector< T > &  v 
)

Definition at line 48 of file permutation.h.

References is_permutation().

Referenced by compute_sort_permutation_first_by_left_then_by_right(), compute_sort_permutation_first_by_left_then_by_right_and_apply_sort_to_left(), and RoutingKit::CustomizableContractionHierarchy::CustomizableContractionHierarchy().

Here is the caller graph for this function:

◆ apply_permutation() [2/2]

template<class T >
std::vector< T > RoutingKit::apply_permutation ( const std::vector< unsigned > &  p,
std::vector< T > &&  v 
)

Definition at line 60 of file permutation.h.

References is_permutation().

◆ apply_permutation_to_elements_of()

std::vector< unsigned > RoutingKit::apply_permutation_to_elements_of ( const std::vector< unsigned > &  p,
const std::vector< unsigned > &  v 
)
inline

Definition at line 105 of file permutation.h.

References inplace_apply_permutation_to_elements_of(), and is_permutation().

Referenced by RoutingKit::CustomizableContractionHierarchy::CustomizableContractionHierarchy().

Here is the caller graph for this function:

◆ apply_permutation_to_possibly_invalid_elements_of()

std::vector< unsigned > RoutingKit::apply_permutation_to_possibly_invalid_elements_of ( const std::vector< unsigned > &  p,
const std::vector< unsigned > &  v 
)
inline

Definition at line 126 of file permutation.h.

References inplace_apply_permutation_to_elements_of(), and is_permutation().

◆ assert_fragment_is_valid()

void RoutingKit::assert_fragment_is_valid ( const GraphFragment fragment)

Definition at line 15 of file nested_dissection.cpp.

Referenced by RoutingKit::BlockingFlow::BlockingFlow(), compute_separator_decomposition(), decompose_graph_fragment_into_connected_components(), derive_separator_from_cut(), inertial_flow(), inertial_flow(), and make_graph_fragment().

Here is the caller graph for this function:

◆ bit_select()

uint64_t RoutingKit::bit_select ( uint64_t  uint512_count,
const uint64_t *  uint512_rank,
const uint64_t *  data,
uint64_t  n 
)

Definition at line 75 of file bit_select.cpp.

References uint512_bit_select().

Referenced by RoutingKit::IDMapper::to_global().

Here is the caller graph for this function:

◆ chain_permutation_first_left_then_right()

std::vector< unsigned > RoutingKit::chain_permutation_first_left_then_right ( const std::vector< unsigned > &  p,
const std::vector< unsigned > &  q 
)
inline

◆ chain_permutation_first_right_then_left()

std::vector< unsigned > RoutingKit::chain_permutation_first_right_then_left ( const std::vector< unsigned > &  p,
const std::vector< unsigned > &  q 
)
inline

Definition at line 43 of file permutation.h.

References chain_permutation_first_left_then_right().

◆ check_contraction_hierarchy_for_errors()

◆ compute_inverse_sort_permutation_first_by_left_then_by_right()

std::vector< unsigned > RoutingKit::compute_inverse_sort_permutation_first_by_left_then_by_right ( unsigned  a_count,
const std::vector< unsigned > &  a,
unsigned  b_count,
const std::vector< unsigned > &  b 
)

Definition at line 82 of file graph_util.cpp.

References apply_inverse_permutation(), chain_permutation_first_left_then_right(), compute_inverse_stable_sort_permutation_using_key(), and is_sorted_using_less().

Referenced by compute_inverse_sort_permutation_first_by_tail_then_by_head().

Here is the caller graph for this function:

◆ compute_inverse_sort_permutation_first_by_left_then_by_right_and_apply_sort_to_left()

std::vector< unsigned > RoutingKit::compute_inverse_sort_permutation_first_by_left_then_by_right_and_apply_sort_to_left ( unsigned  a_count,
std::vector< unsigned > &  a,
unsigned  b_count,
const std::vector< unsigned > &  b 
)

Definition at line 120 of file graph_util.cpp.

References apply_inverse_permutation(), chain_permutation_first_left_then_right(), compute_inverse_stable_sort_permutation_using_key(), and is_sorted_using_less().

Referenced by compute_inverse_sort_permutation_first_by_tail_then_by_head_and_apply_sort_to_tail().

Here is the caller graph for this function:

◆ compute_inverse_sort_permutation_first_by_tail_then_by_head()

std::vector< unsigned > RoutingKit::compute_inverse_sort_permutation_first_by_tail_then_by_head ( unsigned  node_count,
const std::vector< unsigned > &  tail,
const std::vector< unsigned > &  head 
)

◆ compute_inverse_sort_permutation_first_by_tail_then_by_head_and_apply_sort_to_tail()

std::vector< unsigned > RoutingKit::compute_inverse_sort_permutation_first_by_tail_then_by_head_and_apply_sort_to_tail ( unsigned  node_count,
std::vector< unsigned > &  tail,
const std::vector< unsigned > &  head 
)

Definition at line 134 of file graph_util.cpp.

References compute_inverse_sort_permutation_first_by_left_then_by_right_and_apply_sort_to_left(), node_count, and tail.

Referenced by RoutingKit::CustomizableContractionHierarchy::CustomizableContractionHierarchy(), decompose_graph_fragment_into_connected_components(), and make_graph_fragment().

Here is the caller graph for this function:

◆ compute_inverse_sort_permutation_using_comparator()

template<class T , class C >
std::vector< unsigned > RoutingKit::compute_inverse_sort_permutation_using_comparator ( const std::vector< T > &  v,
const C &  is_less 
)

Definition at line 116 of file sort.h.

References compute_sort_permutation_using_comparator(), and invert_permutation().

Referenced by RoutingKit::detail::compute_inverse_maybe_stable_sort_permutation_using_key().

Here is the caller graph for this function:

◆ compute_inverse_sort_permutation_using_key()

template<class T , class K >
std::vector< unsigned > RoutingKit::compute_inverse_sort_permutation_using_key ( const std::vector< T > &  v,
unsigned  key_count,
const K get_key 
)

Definition at line 245 of file sort.h.

◆ compute_inverse_sort_permutation_using_less()

template<class T >
std::vector< unsigned > RoutingKit::compute_inverse_sort_permutation_using_less ( const std::vector< T > &  v)

Definition at line 344 of file sort.h.

References compute_sort_permutation_using_less(), and invert_permutation().

◆ compute_inverse_stable_sort_permutation_using_comparator()

template<class T , class C >
std::vector< unsigned > RoutingKit::compute_inverse_stable_sort_permutation_using_comparator ( const std::vector< T > &  v,
const C &  is_less 
)

Definition at line 121 of file sort.h.

References compute_stable_sort_permutation_using_comparator(), and invert_permutation().

Referenced by RoutingKit::detail::compute_inverse_maybe_stable_sort_permutation_using_key().

Here is the caller graph for this function:

◆ compute_inverse_stable_sort_permutation_using_key()

template<class T , class K >
std::vector< unsigned > RoutingKit::compute_inverse_stable_sort_permutation_using_key ( const std::vector< T > &  v,
unsigned  key_count,
const K get_key 
)

Definition at line 250 of file sort.h.

Referenced by compute_inverse_sort_permutation_first_by_left_then_by_right(), compute_inverse_sort_permutation_first_by_left_then_by_right_and_apply_sort_to_left(), and RoutingKit::CustomizableContractionHierarchy::CustomizableContractionHierarchy().

Here is the caller graph for this function:

◆ compute_inverse_stable_sort_permutation_using_less()

template<class T >
std::vector< unsigned > RoutingKit::compute_inverse_stable_sort_permutation_using_less ( const std::vector< T > &  v)

Definition at line 349 of file sort.h.

References compute_stable_sort_permutation_using_less(), and invert_permutation().

◆ compute_nested_node_dissection_order()

std::vector< unsigned > RoutingKit::compute_nested_node_dissection_order ( GraphFragment  fragment,
const std::function< BitVector(const GraphFragment &)> &  compute_separator,
const std::function< void(const std::string &)> &  log_message = [](const std::string&){} 
)

Definition at line 845 of file nested_dissection.cpp.

References compute_separator_decomposition(), and RoutingKit::SeparatorDecomposition::order.

Referenced by compute_nested_node_dissection_order_using_inertial_flow().

Here is the caller graph for this function:

◆ compute_nested_node_dissection_order_using_inertial_flow()

std::vector< unsigned > RoutingKit::compute_nested_node_dissection_order_using_inertial_flow ( unsigned  node_count,
const std::vector< unsigned > &  tail,
const std::vector< unsigned > &  head,
const std::vector< float > &  latitude,
const std::vector< float > &  longitude,
const std::function< void(const std::string &)> &  log_message = [](const std::string&){} 
)

Definition at line 852 of file nested_dissection.cpp.

References compute_nested_node_dissection_order(), derive_separator_from_cut(), get_micro_time(), inertial_flow(), make_graph_fragment(), node_count, pick_smaller_side(), and tail.

Referenced by CCHGraph< E, V >::CCHGraph().

Here is the caller graph for this function:

◆ compute_separator_decomposition()

SeparatorDecomposition RoutingKit::compute_separator_decomposition ( GraphFragment  fragment,
const std::function< BitVector(const GraphFragment &)> &  compute_separator,
const std::function< void(const std::string &)> &  log_message = [](const std::string&){} 
)

◆ compute_sort_permutation_first_by_left_then_by_right()

std::vector< unsigned > RoutingKit::compute_sort_permutation_first_by_left_then_by_right ( unsigned  a_count,
const std::vector< unsigned > &  a,
unsigned  b_count,
const std::vector< unsigned > &  b 
)

Definition at line 94 of file graph_util.cpp.

References apply_permutation(), chain_permutation_first_left_then_right(), compute_stable_sort_permutation_using_key(), and is_sorted_using_less().

Referenced by compute_sort_permutation_first_by_tail_then_by_head().

Here is the caller graph for this function:

◆ compute_sort_permutation_first_by_left_then_by_right_and_apply_sort_to_left()

std::vector< unsigned > RoutingKit::compute_sort_permutation_first_by_left_then_by_right_and_apply_sort_to_left ( unsigned  a_count,
std::vector< unsigned > &  a,
unsigned  b_count,
const std::vector< unsigned > &  b 
)

Definition at line 106 of file graph_util.cpp.

References apply_permutation(), chain_permutation_first_left_then_right(), compute_stable_sort_permutation_using_key(), and is_sorted_using_less().

Referenced by compute_sort_permutation_first_by_tail_then_by_head_and_apply_sort_to_tail().

Here is the caller graph for this function:

◆ compute_sort_permutation_first_by_tail_then_by_head()

std::vector< unsigned > RoutingKit::compute_sort_permutation_first_by_tail_then_by_head ( unsigned  node_count,
const std::vector< unsigned > &  tail,
const std::vector< unsigned > &  head 
)

◆ compute_sort_permutation_first_by_tail_then_by_head_and_apply_sort_to_tail()

std::vector< unsigned > RoutingKit::compute_sort_permutation_first_by_tail_then_by_head_and_apply_sort_to_tail ( unsigned  node_count,
std::vector< unsigned > &  tail,
const std::vector< unsigned > &  head 
)

Definition at line 142 of file graph_util.cpp.

References compute_sort_permutation_first_by_left_then_by_right_and_apply_sort_to_left(), node_count, and tail.

Referenced by RoutingKit::CustomizableContractionHierarchy::CustomizableContractionHierarchy().

Here is the caller graph for this function:

◆ compute_sort_permutation_using_comparator()

template<class T , class C >
std::vector< unsigned > RoutingKit::compute_sort_permutation_using_comparator ( const std::vector< T > &  v,
const C &  is_less 
)

Definition at line 81 of file sort.h.

References identity_permutation().

Referenced by compute_inverse_sort_permutation_using_comparator(), RoutingKit::detail::compute_maybe_stable_sort_permutation_using_key(), and compute_sort_permutation_using_less().

Here is the caller graph for this function:

◆ compute_sort_permutation_using_key()

template<class T , class K >
std::vector< unsigned > RoutingKit::compute_sort_permutation_using_key ( const std::vector< T > &  v,
unsigned  key_count,
const K get_key 
)

Definition at line 213 of file sort.h.

◆ compute_sort_permutation_using_less()

template<class T >
std::vector< unsigned > RoutingKit::compute_sort_permutation_using_less ( const std::vector< T > &  v)

Definition at line 334 of file sort.h.

References compute_sort_permutation_using_comparator().

Referenced by compute_inverse_sort_permutation_using_less().

Here is the caller graph for this function:

◆ compute_stable_sort_permutation_using_comparator()

template<class T , class C >
std::vector< unsigned > RoutingKit::compute_stable_sort_permutation_using_comparator ( const std::vector< T > &  v,
const C &  is_less 
)

Definition at line 56 of file sort.h.

References identity_permutation().

Referenced by compute_inverse_stable_sort_permutation_using_comparator(), RoutingKit::detail::compute_maybe_stable_sort_permutation_using_key(), and compute_stable_sort_permutation_using_less().

Here is the caller graph for this function:

◆ compute_stable_sort_permutation_using_key()

template<class T , class K >
std::vector< unsigned > RoutingKit::compute_stable_sort_permutation_using_key ( const std::vector< T > &  v,
unsigned  key_count,
const K get_key 
)

Definition at line 218 of file sort.h.

Referenced by compute_sort_permutation_first_by_left_then_by_right(), compute_sort_permutation_first_by_left_then_by_right_and_apply_sort_to_left(), and RoutingKit::CustomizableContractionHierarchyParallelization::CustomizableContractionHierarchyParallelization().

Here is the caller graph for this function:

◆ compute_stable_sort_permutation_using_less()

template<class T >
std::vector< unsigned > RoutingKit::compute_stable_sort_permutation_using_less ( const std::vector< T > &  v)

Definition at line 339 of file sort.h.

References compute_stable_sort_permutation_using_comparator().

Referenced by compute_inverse_stable_sort_permutation_using_less().

Here is the caller graph for this function:

◆ ContractionHierarchyQuery::get_extra_weight_distance< std::vector< int >, SaturatedWeightAddition >()

template int RoutingKit::ContractionHierarchyQuery::get_extra_weight_distance< std::vector< int >, SaturatedWeightAddition > ( const std::vector< int > &  ,
const SaturatedWeightAddition  
)
extern

◆ ContractionHierarchyQuery::get_extra_weight_distance< std::vector< unsigned >, SaturatedWeightAddition >()

template unsigned RoutingKit::ContractionHierarchyQuery::get_extra_weight_distance< std::vector< unsigned >, SaturatedWeightAddition > ( const std::vector< unsigned > &  ,
const SaturatedWeightAddition  
)
extern

◆ convert_arc_path_to_node_path()

std::vector< unsigned > RoutingKit::convert_arc_path_to_node_path ( unsigned  source,
const std::vector< unsigned > &  head,
std::vector< unsigned >  path 
)

Definition at line 69 of file graph_util.cpp.

◆ convert_node_path_to_arc_path()

std::vector< unsigned > RoutingKit::convert_node_path_to_arc_path ( const std::vector< unsigned > &  first_out,
const std::vector< unsigned > &  head,
std::vector< unsigned >  path 
)

Definition at line 52 of file graph_util.cpp.

◆ decompose_graph_fragment_into_connected_components()

◆ derive_separator_from_cut()

BitVector RoutingKit::derive_separator_from_cut ( const GraphFragment fragment,
const BitVector cut 
)

◆ find_arc()

unsigned RoutingKit::find_arc ( const std::vector< unsigned > &  first_out,
const std::vector< unsigned > &  head,
unsigned  x,
unsigned  y 
)

Definition at line 11 of file graph_util.cpp.

References find_arc_or_return_invalid(), and invalid_id.

◆ find_arc_given_sorted_head()

unsigned RoutingKit::find_arc_given_sorted_head ( const std::vector< unsigned > &  first_out,
const std::vector< unsigned > &  head,
unsigned  x,
unsigned  y 
)

Definition at line 27 of file graph_util.cpp.

References find_arc_or_return_invalid_given_sorted_head(), and invalid_id.

◆ find_arc_or_return_invalid()

unsigned RoutingKit::find_arc_or_return_invalid ( const std::vector< unsigned > &  first_out,
const std::vector< unsigned > &  head,
unsigned  x,
unsigned  y 
)

Definition at line 17 of file graph_util.cpp.

References invalid_id.

Referenced by find_arc().

Here is the caller graph for this function:

◆ find_arc_or_return_invalid_given_sorted_head()

unsigned RoutingKit::find_arc_or_return_invalid_given_sorted_head ( const std::vector< unsigned > &  first_out,
const std::vector< unsigned > &  head,
unsigned  x,
unsigned  y 
)

Definition at line 33 of file graph_util.cpp.

References invalid_id.

Referenced by find_arc_given_sorted_head().

Here is the caller graph for this function:

◆ first_max_element_position_of()

template<class T >
unsigned RoutingKit::first_max_element_position_of ( const std::vector< T > &  v)

Definition at line 46 of file min_max.h.

Referenced by max_element_of(), and max_element_of().

Here is the caller graph for this function:

◆ first_min_element_position_of()

template<class T >
unsigned RoutingKit::first_min_element_position_of ( const std::vector< T > &  v)

Definition at line 22 of file min_max.h.

Referenced by min_element_of(), and min_element_of().

Here is the caller graph for this function:

◆ get_micro_time()

long long RoutingKit::get_micro_time ( )

Definition at line 14 of file timer.cpp.

Referenced by compute_nested_node_dissection_order_using_inertial_flow(), compute_separator_decomposition(), RoutingKit::CustomizableContractionHierarchy::CustomizableContractionHierarchy(), and inertial_flow().

Here is the caller graph for this function:

◆ identity_permutation()

std::vector< unsigned > RoutingKit::identity_permutation ( unsigned  n)
inline

Definition at line 148 of file permutation.h.

Referenced by RoutingKit::ContractionHierarchy::build(), RoutingKit::ContractionHierarchy::build_given_rank(), compute_sort_permutation_using_comparator(), compute_stable_sort_permutation_using_comparator(), make_graph_fragment(), and random_permutation().

Here is the caller graph for this function:

◆ inertial_flow() [1/2]

CutSide RoutingKit::inertial_flow ( const GraphFragment fragment,
const std::vector< float > &  latitude,
const std::vector< float > &  longitude,
const std::function< void(const std::string &)> &  log_message = [](const std::string&){} 
)

Definition at line 586 of file nested_dissection.cpp.

References assert_fragment_is_valid(), and inertial_flow().

◆ inertial_flow() [2/2]

CutSide RoutingKit::inertial_flow ( const GraphFragment fragment,
unsigned  min_balance,
const std::vector< float > &  latitude,
const std::vector< float > &  longitude,
const std::function< void(const std::string &)> &  log_message = [](const std::string&){} 
)

Definition at line 484 of file nested_dissection.cpp.

References RoutingKit::GraphFragment::arc_count(), assert_fragment_is_valid(), get_micro_time(), RoutingKit::GraphFragment::global_node_id, RoutingKit::GraphFragment::node_count(), and node_count.

Referenced by compute_nested_node_dissection_order_using_inertial_flow(), and inertial_flow().

Here is the caller graph for this function:

◆ inplace_apply_permutation_to_elements_of()

void RoutingKit::inplace_apply_permutation_to_elements_of ( const std::vector< unsigned > &  p,
std::vector< unsigned > &  v 
)
inline

Definition at line 96 of file permutation.h.

References is_permutation().

Referenced by apply_permutation_to_elements_of(), apply_permutation_to_possibly_invalid_elements_of(), decompose_graph_fragment_into_connected_components(), and make_graph_fragment().

Here is the caller graph for this function:

◆ inplace_apply_permutation_to_possibly_invalid_elements_of()

void RoutingKit::inplace_apply_permutation_to_possibly_invalid_elements_of ( const std::vector< unsigned > &  p,
std::vector< unsigned > &  v 
)
inline

Definition at line 116 of file permutation.h.

References invalid_id, and is_permutation().

◆ inplace_keep_element_of_vector_if()

template<class T >
void RoutingKit::inplace_keep_element_of_vector_if ( const BitVector keep_filter,
std::vector< T > &  vec 
)

Definition at line 13 of file filter.h.

References RoutingKit::BitVector::is_set(), and RoutingKit::BitVector::size().

Referenced by compute_separator_decomposition(), RoutingKit::CustomizableContractionHierarchy::CustomizableContractionHierarchy(), and keep_element_of_vector_if().

Here is the caller graph for this function:

◆ inplace_remove_element_from_vector_if()

template<class T >
void RoutingKit::inplace_remove_element_from_vector_if ( const BitVector remove_filter,
std::vector< T > &  vec 
)

Definition at line 28 of file filter.h.

References RoutingKit::BitVector::is_set(), and RoutingKit::BitVector::size().

Referenced by remove_element_from_vector_if().

Here is the caller graph for this function:

◆ invert_inverse_vector()

std::vector< unsigned > RoutingKit::invert_inverse_vector ( const std::vector< unsigned > &  sorted_index)
inline

Definition at line 43 of file inverse_vector.h.

◆ invert_permutation()

std::vector< unsigned > RoutingKit::invert_permutation ( const std::vector< unsigned > &  p)
inline

◆ invert_vector()

std::vector< unsigned > RoutingKit::invert_vector ( const std::vector< unsigned > &  v,
unsigned  element_count 
)
inline

◆ is_permutation()

bool RoutingKit::is_permutation ( const std::vector< unsigned > &  p)
inline

◆ is_sorted_using_comparator()

template<class T , class C >
bool RoutingKit::is_sorted_using_comparator ( const std::vector< T > &  v,
const C &  is_less 
)

Definition at line 107 of file sort.h.

Referenced by is_sorted_using_less().

Here is the caller graph for this function:

◆ is_sorted_using_key()

template<class T , class K >
bool RoutingKit::is_sorted_using_key ( const std::vector< T > &  v,
unsigned  key_count,
const K get_key 
)

Definition at line 321 of file sort.h.

◆ is_sorted_using_less()

template<class T >
bool RoutingKit::is_sorted_using_less ( const std::vector< T > &  v)

◆ keep_element_of_vector_if()

template<class T >
std::vector< T > RoutingKit::keep_element_of_vector_if ( const BitVector keep_filter,
std::vector< T >  vec 
)

Definition at line 43 of file filter.h.

References inplace_keep_element_of_vector_if().

Referenced by RoutingKit::CustomizableContractionHierarchyMetric::build_contraction_hierarchy_using_perfect_witness_search(), and RoutingKit::CustomizableContractionHierarchy::CustomizableContractionHierarchy().

Here is the caller graph for this function:

◆ load_bit_vector()

BitVector RoutingKit::load_bit_vector ( const std::string &  file_name)

◆ load_value()

template<class T >
T RoutingKit::load_value ( const std::string &  file_name)

Definition at line 60 of file vector_io.h.

◆ load_vector()

template<class T >
std::vector< T > RoutingKit::load_vector ( const std::string &  file_name)

Definition at line 25 of file vector_io.h.

◆ load_vector< std::string >()

template<>
template std::vector< std::string > RoutingKit::load_vector< std::string > ( const std::string &  file_name)

◆ make_bit_vector()

template<class F >
BitVector RoutingKit::make_bit_vector ( uint64_t  size,
const F &  f 
)
inline

Definition at line 123 of file bit_vector.h.

References RoutingKit::BitVector::set(), and RoutingKit::BitVector::uninitialized.

Referenced by compute_separator_decomposition().

Here is the caller graph for this function:

◆ make_graph_fragment()

GraphFragment RoutingKit::make_graph_fragment ( unsigned  node_count,
const std::vector< unsigned > &  tail,
const std::vector< unsigned > &  head 
)

◆ max_element_of() [1/2]

template<class T >
const T & RoutingKit::max_element_of ( const std::vector< T > &  v)

◆ max_element_of() [2/2]

template<class T >
const T & RoutingKit::max_element_of ( const std::vector< T > &  v,
const T &  empty_value 
)

Definition at line 61 of file min_max.h.

References first_max_element_position_of().

◆ max_to()

template<class T >
void RoutingKit::max_to ( T &  x,
const T &  y 
)

Definition at line 16 of file min_max.h.

Referenced by RoutingKit::CustomizableContractionHierarchy::CustomizableContractionHierarchy().

Here is the caller graph for this function:

◆ min_element_of() [1/2]

template<class T >
const T & RoutingKit::min_element_of ( const std::vector< T > &  v)

Definition at line 32 of file min_max.h.

References first_min_element_position_of().

◆ min_element_of() [2/2]

template<class T >
const T & RoutingKit::min_element_of ( const std::vector< T > &  v,
const T &  empty_value 
)

Definition at line 37 of file min_max.h.

References first_min_element_position_of().

◆ min_to()

template<class T >
void RoutingKit::min_to ( T &  x,
const T &  y 
)

Definition at line 10 of file min_max.h.

Referenced by RoutingKit::IDSetMinQueue::push().

Here is the caller graph for this function:

◆ open_file_for_loading()

template<class F >
void RoutingKit::open_file_for_loading ( const std::string &  file_name,
const F &  f 
)

Definition at line 164 of file vector_io.h.

Referenced by RoutingKit::ContractionHierarchy::load_file().

Here is the caller graph for this function:

◆ open_file_for_saving()

template<class F >
void RoutingKit::open_file_for_saving ( const std::string &  file_name,
const F &  f 
)

Definition at line 156 of file vector_io.h.

Referenced by RoutingKit::ContractionHierarchy::save_file().

Here is the caller graph for this function:

◆ operator!=()

bool RoutingKit::operator!= ( const BitVector l,
const BitVector r 
)
inline

Definition at line 147 of file bit_vector.h.

◆ operator&() [1/4]

BitVector RoutingKit::operator& ( BitVector &&  l,
BitVector &&  r 
)
inline

Definition at line 137 of file bit_vector.h.

◆ operator&() [2/4]

BitVector RoutingKit::operator& ( BitVector &&  l,
const BitVector r 
)
inline

Definition at line 138 of file bit_vector.h.

◆ operator&() [3/4]

BitVector RoutingKit::operator& ( const BitVector l,
BitVector &&  r 
)
inline

Definition at line 139 of file bit_vector.h.

◆ operator&() [4/4]

BitVector RoutingKit::operator& ( const BitVector l,
const BitVector r 
)
inline

Definition at line 140 of file bit_vector.h.

◆ operator<()

bool RoutingKit::operator< ( const BitVector l,
const BitVector r 
)

Definition at line 517 of file bit_vector.cpp.

◆ operator<=()

bool RoutingKit::operator<= ( const BitVector l,
const BitVector r 
)
inline

Definition at line 149 of file bit_vector.h.

◆ operator==()

bool RoutingKit::operator== ( const BitVector l,
const BitVector r 
)

Definition at line 502 of file bit_vector.cpp.

◆ operator>()

bool RoutingKit::operator> ( const BitVector l,
const BitVector r 
)
inline

Definition at line 148 of file bit_vector.h.

◆ operator>=()

bool RoutingKit::operator>= ( const BitVector l,
const BitVector r 
)
inline

Definition at line 150 of file bit_vector.h.

◆ operator^() [1/4]

BitVector RoutingKit::operator^ ( BitVector &&  l,
BitVector &&  r 
)
inline

Definition at line 142 of file bit_vector.h.

◆ operator^() [2/4]

BitVector RoutingKit::operator^ ( BitVector &&  l,
const BitVector r 
)
inline

Definition at line 143 of file bit_vector.h.

◆ operator^() [3/4]

BitVector RoutingKit::operator^ ( const BitVector l,
BitVector &&  r 
)
inline

Definition at line 144 of file bit_vector.h.

◆ operator^() [4/4]

BitVector RoutingKit::operator^ ( const BitVector l,
const BitVector r 
)
inline

Definition at line 145 of file bit_vector.h.

◆ operator|() [1/4]

BitVector RoutingKit::operator| ( BitVector &&  l,
BitVector &&  r 
)
inline

Definition at line 132 of file bit_vector.h.

◆ operator|() [2/4]

BitVector RoutingKit::operator| ( BitVector &&  l,
const BitVector r 
)
inline

Definition at line 133 of file bit_vector.h.

◆ operator|() [3/4]

BitVector RoutingKit::operator| ( const BitVector l,
BitVector &&  r 
)
inline

Definition at line 134 of file bit_vector.h.

◆ operator|() [4/4]

BitVector RoutingKit::operator| ( const BitVector l,
const BitVector r 
)
inline

Definition at line 135 of file bit_vector.h.

◆ pick_smaller_side()

void RoutingKit::pick_smaller_side ( CutSide cut)

Definition at line 476 of file nested_dissection.cpp.

References RoutingKit::BitVector::inplace_not(), RoutingKit::CutSide::is_node_on_side, node_count, RoutingKit::CutSide::node_on_side_count, and RoutingKit::BitVector::size().

Referenced by compute_nested_node_dissection_order_using_inertial_flow().

Here is the caller graph for this function:

◆ random_permutation()

template<class RandomGenerator >
std::vector< unsigned > RoutingKit::random_permutation ( unsigned  n,
RandomGenerator &&  gen 
)

Definition at line 156 of file permutation.h.

References identity_permutation().

◆ read_bit_vector()

BitVector RoutingKit::read_bit_vector ( const std::function< void(char *, unsigned long long)> &  in,
unsigned long long  size 
)
inline

Definition at line 142 of file vector_io.h.

References RoutingKit::BitVector::data().

◆ read_value() [1/2]

template<class T >
T RoutingKit::read_value ( const std::function< void(char *, unsigned long long)> &  in)

Definition at line 117 of file vector_io.h.

◆ read_value() [2/2]

template<class T >
T RoutingKit::read_value ( std::istream &  in)

Definition at line 79 of file vector_io.h.

◆ read_vector() [1/2]

template<class T >
std::vector< T > RoutingKit::read_vector ( const std::function< void(char *, unsigned long long)> &  in,
unsigned long long  size 
)

Definition at line 131 of file vector_io.h.

◆ read_vector() [2/2]

template<class T >
std::vector< T > RoutingKit::read_vector ( std::istream &  in,
unsigned long long  size 
)

Definition at line 98 of file vector_io.h.

◆ remove_element_from_vector_if()

template<class T >
std::vector< T > RoutingKit::remove_element_from_vector_if ( const BitVector keep_filter,
std::vector< T >  vec 
)

Definition at line 49 of file filter.h.

References inplace_remove_element_from_vector_if().

◆ save_bit_vector()

void RoutingKit::save_bit_vector ( const std::string &  file_name,
const BitVector vec 
)

◆ save_value()

template<class T >
void RoutingKit::save_value ( const std::string &  file_name,
const T &  val 
)

Definition at line 54 of file vector_io.h.

References save_vector().

◆ save_vector()

template<class T >
void RoutingKit::save_vector ( const std::string &  file_name,
const std::vector< T > &  vec 
)

Definition at line 16 of file vector_io.h.

Referenced by save_value().

Here is the caller graph for this function:

◆ save_vector< std::string >()

template<>
template void RoutingKit::save_vector< std::string > ( const std::string &  file_name,
const std::vector< std::string > &  vec 
)

◆ skip_empty_uint512()

uint64_t RoutingKit::skip_empty_uint512 ( uint64_t &  uint512_count,
const uint64_t *&  uint512_rank,
const uint64_t *&  data 
)

◆ sort_using_comparator() [1/2]

template<class T , class C >
std::vector< T > RoutingKit::sort_using_comparator ( const std::vector< T > &  v,
const C &  is_less 
)

Definition at line 93 of file sort.h.

Referenced by RoutingKit::detail::maybe_stable_sort_using_key(), RoutingKit::detail::maybe_stable_sort_using_key(), sort_using_less(), and sort_using_less().

Here is the caller graph for this function:

◆ sort_using_comparator() [2/2]

template<class T , class C >
std::vector< T > RoutingKit::sort_using_comparator ( std::vector< T > &&  v,
const C &  is_less 
)

Definition at line 100 of file sort.h.

◆ sort_using_key() [1/2]

template<class T , class K >
std::vector< T > RoutingKit::sort_using_key ( const std::vector< T > &  v,
unsigned  key_count,
const K get_key 
)

Definition at line 300 of file sort.h.

◆ sort_using_key() [2/2]

template<class T , class K >
std::vector< T > RoutingKit::sort_using_key ( std::vector< T > &&  v,
unsigned  key_count,
const K get_key 
)

Definition at line 305 of file sort.h.

◆ sort_using_less() [1/2]

template<class T >
std::vector< T > RoutingKit::sort_using_less ( const std::vector< T > &  v)

Definition at line 364 of file sort.h.

References sort_using_comparator().

◆ sort_using_less() [2/2]

template<class T >
std::vector< T > RoutingKit::sort_using_less ( std::vector< T > &&  v)

Definition at line 369 of file sort.h.

References sort_using_comparator().

◆ stable_sort_using_comparator() [1/2]

template<class T , class C >
std::vector< T > RoutingKit::stable_sort_using_comparator ( const std::vector< T > &  v,
const C &  is_less 
)

Definition at line 68 of file sort.h.

Referenced by RoutingKit::detail::maybe_stable_sort_using_key(), RoutingKit::detail::maybe_stable_sort_using_key(), stable_sort_using_less(), and stable_sort_using_less().

Here is the caller graph for this function:

◆ stable_sort_using_comparator() [2/2]

template<class T , class C >
std::vector< T > RoutingKit::stable_sort_using_comparator ( std::vector< T > &&  v,
const C &  is_less 
)

Definition at line 75 of file sort.h.

◆ stable_sort_using_key() [1/2]

template<class T , class K >
std::vector< T > RoutingKit::stable_sort_using_key ( const std::vector< T > &  v,
unsigned  key_count,
const K get_key 
)

Definition at line 310 of file sort.h.

◆ stable_sort_using_key() [2/2]

template<class T , class K >
std::vector< T > RoutingKit::stable_sort_using_key ( std::vector< T > &&  v,
unsigned  key_count,
const K get_key 
)

Definition at line 315 of file sort.h.

◆ stable_sort_using_less() [1/2]

template<class T >
std::vector< T > RoutingKit::stable_sort_using_less ( const std::vector< T > &  v)

Definition at line 354 of file sort.h.

References stable_sort_using_comparator().

◆ stable_sort_using_less() [2/2]

template<class T >
std::vector< T > RoutingKit::stable_sort_using_less ( std::vector< T > &&  v)

Definition at line 359 of file sort.h.

References stable_sort_using_comparator().

◆ uint512_bit_select()

uint32_t RoutingKit::uint512_bit_select ( const uint64_t *  block,
uint32_t  n 
)

Definition at line 51 of file bit_select.cpp.

References uint64_bit_select().

Referenced by bit_select().

Here is the caller graph for this function:

◆ uint64_bit_select()

uint32_t RoutingKit::uint64_bit_select ( uint64_t  word,
uint32_t  n 
)

Definition at line 8 of file bit_select.cpp.

Referenced by uint512_bit_select().

Here is the caller graph for this function:

◆ write_bit_vector()

void RoutingKit::write_bit_vector ( const std::function< void(const char *, unsigned long long)> &  out,
const BitVector v 
)
inline

Definition at line 149 of file vector_io.h.

References RoutingKit::BitVector::data(), and RoutingKit::BitVector::size().

Referenced by RoutingKit::ContractionHierarchy::write().

Here is the caller graph for this function:

◆ write_value() [1/2]

template<class T >
void RoutingKit::write_value ( const std::function< void(const char *, unsigned long long)> &  out,
const T &  val 
)

Definition at line 111 of file vector_io.h.

◆ write_value() [2/2]

template<class T >
void RoutingKit::write_value ( std::ostream &  out,
const T &  val 
)

Definition at line 71 of file vector_io.h.

Referenced by RoutingKit::ContractionHierarchy::write().

Here is the caller graph for this function:

◆ write_vector() [1/2]

template<class T >
void RoutingKit::write_vector ( const std::function< void(const char *, unsigned long long)> &  out,
const std::vector< T > &  v 
)

Definition at line 125 of file vector_io.h.

◆ write_vector() [2/2]

template<class T >
void RoutingKit::write_vector ( std::ostream &  out,
const std::vector< T > &  v 
)

Definition at line 89 of file vector_io.h.

Referenced by RoutingKit::ContractionHierarchy::write().

Here is the caller graph for this function:

Variable Documentation

◆ expect_failed

bool RoutingKit::expect_failed = false

Definition at line 4 of file expect.cpp.

◆ inf_weight

◆ invalid_id

const unsigned RoutingKit::invalid_id = 4294967295u

Definition at line 6 of file RoutingKit/include/routingkit/Constants.h.

Referenced by RoutingKit::ContractionHierarchyQuery::add_source(), RoutingKit::ContractionHierarchyQuery::add_target(), RoutingKit::CustomizableContractionHierarchyMetric::build_contraction_hierarchy_using_perfect_witness_search(), check_contraction_hierarchy_for_errors(), RoutingKit::MinIDQueue::clear(), RoutingKit::MinIDQueue::contains_id(), RoutingKit::CustomizableContractionHierarchy::CustomizableContractionHierarchy(), decompose_graph_fragment_into_connected_components(), RoutingKit::IDSetMinQueue::empty(), RoutingKit::detail::extract_distances_to_targets(), find_arc(), find_arc_given_sorted_head(), find_arc_or_return_invalid(), find_arc_or_return_invalid_given_sorted_head(), RoutingKit::ContractionHierarchyQuery::get_arc_path(), RoutingKit::CustomizableContractionHierarchyQuery::get_arc_path(), RoutingKit::BlockingFlow::get_balanced_cut(), RoutingKit::ContractionHierarchyQuery::get_distance(), RoutingKit::CustomizableContractionHierarchyQuery::get_distance(), RoutingKit::detail::get_extra_weight_up_distance(), RoutingKit::MinIDQueue::get_key(), RoutingKit::ContractionHierarchyQuery::get_node_path(), RoutingKit::CustomizableContractionHierarchyQuery::get_node_path(), RoutingKit::ContractionHierarchyQuery::get_used_source(), RoutingKit::CustomizableContractionHierarchyQuery::get_used_source(), RoutingKit::ContractionHierarchyQuery::get_used_target(), RoutingKit::CustomizableContractionHierarchyQuery::get_used_target(), inplace_apply_permutation_to_possibly_invalid_elements_of(), RoutingKit::detail::internal_get_extra_weight_distance(), RoutingKit::MinIDQueue::pop(), RoutingKit::IDSetMinQueue::pop(), RoutingKit::IDSetMinQueue::push(), RoutingKit::ContractionHierarchyQuery::reset(), RoutingKit::ContractionHierarchyQuery::run(), and RoutingKit::CustomizableContractionHierarchyPartialCustomization::update_arc().