12#ifndef MCRL2_PBES_FIND_H
13#define MCRL2_PBES_FIND_H
27template <
template <
class>
class Traverser,
class OutputIterator>
30 typedef Traverser<find_propositional_variables_traverser<Traverser, OutputIterator> >
super;
51template <
template <
class>
class Traverser,
class OutputIterator>
52find_propositional_variables_traverser<Traverser, OutputIterator>
65template <
typename T,
typename OutputIterator>
68 data::detail::make_find_all_variables_traverser<pbes_system::variable_traverser>(o).apply(x);
77 std::set<data::variable> result;
86template <
typename T,
typename OutputIterator>
89 data::detail::make_find_free_variables_traverser<pbes_system::data_expression_traverser, pbes_system::add_data_variable_traverser_binding>(o).apply(x);
97template <
typename T,
typename OutputIterator,
typename VariableContainer>
100 data::detail::make_find_free_variables_traverser<pbes_system::data_expression_traverser, pbes_system::add_data_variable_traverser_binding>(o, bound).apply(x);
109 std::set<data::variable> result;
118template <
typename T,
typename VariableContainer>
121 std::set<data::variable> result;
130template <
typename T,
typename OutputIterator>
133 data::detail::make_find_identifiers_traverser<pbes_system::identifier_string_traverser>(o).apply(x);
142 std::set<core::identifier_string> result;
151template <
typename T,
typename OutputIterator>
154 data::detail::make_find_sort_expressions_traverser<pbes_system::sort_expression_traverser>(o).apply(x);
163 std::set<data::sort_expression> result;
172template <
typename T,
typename OutputIterator>
175 data::detail::make_find_function_symbols_traverser<pbes_system::data_expression_traverser>(o).apply(x);
184 std::set<data::function_symbol> result;
195template <
typename Container,
typename OutputIterator>
198 pbes_system::detail::make_find_propositional_variables_traverser<pbes_system::pbes_expression_traverser>(o).apply(container);
204template <
typename Container>
207 std::set<propositional_variable_instantiation> result;
219 data::detail::search_variable_traverser<pbes_system::variable_traverser> f(v);
\brief A propositional variable instantiation
find_propositional_variables_traverser< Traverser, OutputIterator > make_find_propositional_variables_traverser(OutputIterator out)
void find_identifiers(const T &x, OutputIterator o)
void find_free_variables(const T &x, OutputIterator o)
void find_function_symbols(const T &x, OutputIterator o)
void find_sort_expressions(const T &x, OutputIterator o)
bool search_variable(const T &x, const data::variable &v)
Returns true if the term has a given variable as subterm.
void find_all_variables(const T &x, OutputIterator o)
void find_propositional_variable_instantiations(Container const &container, OutputIterator o)
Returns all data variables that occur in a range of expressions.
void find_free_variables_with_bound(const T &x, OutputIterator o, const VariableContainer &bound)
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
add your file description here.
add your file description here.
Traverser< find_propositional_variables_traverser< Traverser, OutputIterator > > super
find_propositional_variables_traverser(OutputIterator out_)
void apply(const propositional_variable_instantiation &v)
void apply(const data::data_expression &)