Google OR-Tools: util::TopologicalSorter< T, stable_sort, Hash, KeyEqual

template<typename T, bool stable_sort = false, typename Hash = typename absl::flat_hash_map<T, int>::hasher, typename KeyEqual = typename absl::flat_hash_map<T, int, Hash>::key_equal>
class util::TopologicalSorter< T, stable_sort, Hash, KeyEqual >

Definition at line 331 of file topologicalsorter.h.

#include <topologicalsorter.h>

TopologicalSorter< T, stable_sort, Hash, KeyEqual >

Public Member Functions

 TopologicalSorter ()=default
 TopologicalSorter (const TopologicalSorter &)=delete
TopologicalSorteroperator= (const TopologicalSorter &)=delete
 ~TopologicalSorter ()=default
void AddNode (const T &node)
void AddEdges (const std::vector< std::pair< T, T > > &edges)
void AddEdge (const T &from, const T &to)
bool GetNext (T *node, bool *cyclic_ptr, std::vector< T > *output_cycle_nodes=nullptr)
int GetCurrentFringeSize ()
void StartTraversal ()
bool TraversalStarted () const

template<typename T, bool stable_sort = false, typename Hash = typename absl::flat_hash_map<T, int>::hasher, typename KeyEqual = typename absl::flat_hash_map<T, int, Hash>::key_equal>

◆ TopologicalSorter() [2/2]

template<typename T, bool stable_sort = false, typename Hash = typename absl::flat_hash_map<T, int>::hasher, typename KeyEqual = typename absl::flat_hash_map<T, int, Hash>::key_equal>

◆ ~TopologicalSorter()

template<typename T, bool stable_sort = false, typename Hash = typename absl::flat_hash_map<T, int>::hasher, typename KeyEqual = typename absl::flat_hash_map<T, int, Hash>::key_equal>

◆ AddEdge()

template<typename T, bool stable_sort = false, typename Hash = typename absl::flat_hash_map<T, int>::hasher, typename KeyEqual = typename absl::flat_hash_map<T, int, Hash>::key_equal>

◆ AddEdges()

template<typename T, bool stable_sort = false, typename Hash = typename absl::flat_hash_map<T, int>::hasher, typename KeyEqual = typename absl::flat_hash_map<T, int, Hash>::key_equal>

void util::TopologicalSorter< T, stable_sort, Hash, KeyEqual >::AddEdges ( const std::vector< std::pair< T, T > > & edges)
inline

◆ AddNode()

template<typename T, bool stable_sort = false, typename Hash = typename absl::flat_hash_map<T, int>::hasher, typename KeyEqual = typename absl::flat_hash_map<T, int, Hash>::key_equal>

◆ GetCurrentFringeSize()

template<typename T, bool stable_sort = false, typename Hash = typename absl::flat_hash_map<T, int>::hasher, typename KeyEqual = typename absl::flat_hash_map<T, int, Hash>::key_equal>

◆ GetNext()

template<typename T, bool stable_sort = false, typename Hash = typename absl::flat_hash_map<T, int>::hasher, typename KeyEqual = typename absl::flat_hash_map<T, int, Hash>::key_equal>

bool util::TopologicalSorter< T, stable_sort, Hash, KeyEqual >::GetNext ( T * node,
bool * cyclic_ptr,
std::vector< T > * output_cycle_nodes = nullptr )
inline

◆ operator=()

template<typename T, bool stable_sort = false, typename Hash = typename absl::flat_hash_map<T, int>::hasher, typename KeyEqual = typename absl::flat_hash_map<T, int, Hash>::key_equal>

◆ StartTraversal()

template<typename T, bool stable_sort = false, typename Hash = typename absl::flat_hash_map<T, int>::hasher, typename KeyEqual = typename absl::flat_hash_map<T, int, Hash>::key_equal>

◆ TraversalStarted()

template<typename T, bool stable_sort = false, typename Hash = typename absl::flat_hash_map<T, int>::hasher, typename KeyEqual = typename absl::flat_hash_map<T, int, Hash>::key_equal>


The documentation for this class was generated from the following file: