Depth‐first iterator that stores its visited set externally.

Synopsis

Declared in <llvm/ADT/DepthFirstIterator.h>

template<
    class T,
    class SetTy = df_iterator_default_set<GraphTraits<T>::NodeRef>>
struct df_ext_iterator
    : df_iterator<T, SetTy, true>

Base Classes

Name

Description

df_iterator<T, SetTy, true>

Generic depth‐first search iterator over a graph.

Type Aliases

Name

Description

difference_type

Distance between two depth‐first iterators.

iterator_category

Iterator category: input when using external storage, otherwise forward.

pointer

Pointer to a node reference.

reference

Const reference to the current node.

value_type

Node reference type yielded by this iterator.

Member Functions

Name

Description

df_ext_iterator [constructor]

Construct from an underlying external‐storage depth‐first iterator.

getPath

Return the n'th node in the path from the entry node to the current node.

getPathLength

Return the length of the path from the entry node to the current node, counting both nodes.

nodeVisited

Return true if this iterator has already visited Node.

operator*

Return a reference to the current node.

operator++

Increment operators

operator‐>

Return the current node so methods can be called through the iterator.

skipChildren

Skips all children of the current node and traverses to next node

operator==

Return true if both iterators have the same visit‐stack state.

operator!=

Return true if the iterators differ in visit‐stack state.

Static Member Functions

Name

Description

begin

begin overloads

end

end overloads

Data Members

Name

Description

Visited

Set of nodes already visited during depth‐first traversal.

Non-Member Functions

Name

Description

depth_first_ext

Return a range that visits G in depth‐first order using visited set S.

df_ext_begin

Return an external‐storage depth‐first iterator at the entry of G.

df_ext_end

Return a past‐the‐end external‐storage depth‐first iterator for G.

Created with MrDocs