A declarative environment.This environment recognizes all atomic propositions that have been previously declared. It will reject other. More...
#include <ltlenv/declenv.hh>
Public Types | |
typedef std::map< const std::string, ltl::atomic_prop * > | prop_map |
Public Member Functions | |
declarative_environment () | |
~declarative_environment () | |
bool | declare (const std::string &prop_str) |
virtual ltl::formula * | require (const std::string &prop_str) |
Obtain the formula associated to prop_str. | |
virtual const std::string & | name () |
Get the name of the environment. | |
const prop_map & | get_prop_map () const |
Get the map of atomic proposition known to this environment. | |
Private Attributes | |
prop_map | props_ |
A declarative environment.
This environment recognizes all atomic propositions that have been previously declared. It will reject other.
typedef std::map<const std::string, ltl::atomic_prop*> spot::ltl::declarative_environment::prop_map |
spot::ltl::declarative_environment::declarative_environment | ( | ) |
spot::ltl::declarative_environment::~declarative_environment | ( | ) |
bool spot::ltl::declarative_environment::declare | ( | const std::string & | prop_str | ) |
Declare an atomic proposition. Return false iff the proposition was already declared.
const prop_map& spot::ltl::declarative_environment::get_prop_map | ( | ) | const |
Get the map of atomic proposition known to this environment.
virtual const std::string& spot::ltl::declarative_environment::name | ( | ) | [virtual] |
Get the name of the environment.
Implements spot::ltl::environment.
virtual ltl::formula* spot::ltl::declarative_environment::require | ( | const std::string & | prop_str | ) | [virtual] |
Obtain the formula associated to prop_str.
Usually prop_str, is the name of an atomic proposition, and spot::ltl::require simply returns the associated spot::ltl::atomic_prop.
Note this is not a const
method. Some environments will "create" the atomic proposition when requested.
We return a spot::ltl::formula instead of an spot::ltl::atomic_prop, because this will allow nifty tricks (e.g., we could name formulae in an environment, and let the parser build a larger tree from these).
Implements spot::ltl::environment.