[#BloombergLP-bdlb-TopologicalSortUtil_Helper] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlb.adoc[bdlb]::TopologicalSortUtil_Helper :relfileprefix: ../../ :mrdocs: Helper that builds work‐set data for a topological sort. == Synopsis Declared in `<bdlb_topologicalsortutil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class INPUT_ITER> class TopologicalSortUtil_Helper; ---- == Description This class template provides data structures required to sort the partial unsorted edges into a total ordered set of nodes. The value type of the nodes(*) must be hashable and equality comparable by `bsl::hash`, and `bsl::equal_to` respectively. * (*) The value type is determined by first getting the iterator's value type using `bsl::iterator_traits<INPUT_ITER>::ValueType` and then using `TopologicalSortUtilEdgeTraits::ValueType` on that result. == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlb/TopologicalSortUtil_Helper/2constructor.adoc[`TopologicalSortUtil_Helper`] [.small]#[constructor]# | Create a helper for topological sorting of the given relations. | xref:BloombergLP/bdlb/TopologicalSortUtil_Helper/processNextNodeInOrder.adoc[`processNextNodeInOrder`] | Write the next ready node to an output iterator. | xref:BloombergLP/bdlb/TopologicalSortUtil_Helper/sortImpl.adoc[`sortImpl`] | Sort constructed inputs into topological order. | xref:BloombergLP/bdlb/TopologicalSortUtil_Helper/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<TopologicalSortUtil_Helper, UsesBslmaAllocator>`] | Nested trait declaration for `bslma::UsesBslmaAllocator`. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#