sort overloads
Declared in <bdlb_topologicalsortutil.h>
Sort nodes into topological order given edge relations.
template<class NODE_TYPE>
static
bool
sort(
bsl::vector<NODE_TYPE>* result,
bsl::vector<NODE_TYPE>* unsorted,
bsl::vector<bsl::pair<NODE_TYPE, NODE_TYPE>> const& relations);
» more...
Sort input edges into topological order via output iterators.
template<
class INPUT_ITER,
class OUTPUT_ITER,
class UNSORTED_OUTPUT_ITER>
static
bool
sort(
INPUT_ITER relationsBegin,
INPUT_ITER relationsEnd,
OUTPUT_ITER resultOutIter,
UNSORTED_OUTPUT_ITER unsortedOutIter);
» more...
true if the sort succeeds, and false if a cycle is found
| Name | Description |
|---|---|
| result | destination for the ordered nodes |
| unsorted | destination for nodes left unsorted on failure |
| relations | directed edges (U, V) where U precedes V |
| relationsBegin | beginning of the input edge range |
| relationsEnd | end of the input edge range |
| resultOutIter | output iterator for the ordered nodes |
| unsortedOutIter | output iterator for unsorted nodes on failure |