12#ifndef MCRL2_UTILITIES_SEQUENCE_H
13#define MCRL2_UTILITIES_SEQUENCE_H
29struct foreach_sequence_assign
34 template <
typename T1,
typename T2>
35 void operator()(T1& t1,
const T2& t2)
const
47template <
typename Iter1,
typename Iter2,
typename SequenceFunction,
typename Assign>
48void foreach_sequence_impl(Iter1 first, Iter1 last, Iter2 i, SequenceFunction f, Assign assign)
59 foreach_sequence_impl(std::next(first), last, std::next(i), f, assign);
77template <
typename SequenceContainer,
79 typename SequenceFunction,
81void foreach_sequence(
const SequenceContainer& X, OutIter i, SequenceFunction f, Assign assign)
83 detail::foreach_sequence_impl(X.begin(),
99template <
typename SequenceContainer,
101 typename SequenceFunction>
const_iterator end() const
const_iterator begin() const
const function_symbol & first()
Constructor for function symbol @first.
void foreach_sequence(const SequenceContainer &X, OutIter i, SequenceFunction f, Assign assign)
Algorithm for generating sequences. Given a sequence [X1, ..., Xn], where each element Xi is a sequen...
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...