cbegin_pislo¶
-
inline const_pislo_iterator libsemigroups::ActionDigraph::cbegin_pislo(node_type const source, size_t const min = 0, size_t const max = POSITIVE_INFINITY) const¶
Returns a forward iterator pointing to the edge labels of the first path (in short-lex order) starting at
source
with length in the range \([min, max)\).PISLO = Paths In Short-Lex Order
If incremented, the iterator will point to the next least edge labelling of a path (in short-lex order), with length in the range \([min, max)\). Iterators of the type returned by this function are equal whenever they point to equal objects.
- See
Warning
Copying iterators of this type is expensive. As a consequence, prefix incrementing
++it
the returned iteratorit
significantly cheaper than postfix incrementingit++
.Warning
If the action digraph represented by
this
contains a cycle that is reachable fromsource
, then there are infinitely many paths starting atsource
, and somax
should be chosen with some care.- Parameters
source – the source node
min – the minimum length of a path to enumerate (defaults to
0
)max – the maximum length of a path to enumerate (defaults to libsemigroups::POSITIVE_INFINITY).
- Throws
LibsemigroupsException – if
source
is not a node in the digraph.- Returns
An iterator
it
of typeconst_pislo_iterator
pointing to a libsemigroups::word_type consisting of the edge labels of the first path (in short-lex order) fromsource
of length in the range \([min, max)\).