12#ifndef MCRL2_PBES_REMOVE_LEVEL_H
13#define MCRL2_PBES_REMOVE_LEVEL_H
16#include "mcrl2/utilities/exception.h"
20namespace mcrl2::pbes_system
50 throw mcrl2::
runtime_error(
"unknown bes variables remove level " + s);
59 case none:
return "none";
60 case some:
return "some";
61 case all:
return "all";
63 throw mcrl2::runtime_error(
"unknown remove_level");
73 level = parse_remove_level(s);
77 is.setstate(
std::ios_base::failbit);
85 os << print_remove_level(s);
94 case none:
return "never remove a generated bes variable and its equation. This can lead to excessive"
96 case some:
return "remove generated bes variables that do not occur anymore in the generated BES, except if"
97 " the right hand side of its equation is true or false. The rhss of removed variables"
98 " must have to be recalculated, when this bes variable is encountered again.";
99 case all:
return "remove the equation for bes variables that do not occur anymore in generated boolean equation system."
100 " This is quite memory efficient, but it can be very time consuming as the rhss of removed bes"
101 " variables may have to be recalculated quite often.";
103 throw mcrl2::runtime_error(
"unknown remove level");
Standard exception class for reporting runtime errors.
remove_level parse_remove_level(const std::string &s)
std::string print_remove_level(const remove_level s)
remove_level
BES variable remove level when generating a BES from a PBES.
std::string description(const remove_level s)
std::istream & operator>>(std::istream &is, remove_level &level)
std::size_t operator()(const std::vector< X > &v) const