Storm
1.13.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
RewardOperatorFormula.cpp
Go to the documentation of this file.
1
#include "
storm/logic/RewardOperatorFormula.h
"
2
#include <boost/any.hpp>
3
#include <ostream>
4
5
#include "
storm/exceptions/InvalidPropertyException.h
"
6
#include "
storm/logic/FormulaVisitor.h
"
7
#include "
storm/utility/macros.h
"
8
9
namespace
storm
{
10
namespace
logic
{
11
RewardOperatorFormula::RewardOperatorFormula
(std::shared_ptr<Formula const>
const
& subformula, boost::optional<std::string>
const
& rewardModelName,
12
OperatorInformation
const
&
operatorInformation
)
13
:
OperatorFormula
(subformula,
operatorInformation
), rewardModelName(rewardModelName) {
14
// Intentionally left empty.
15
}
16
17
bool
RewardOperatorFormula::isRewardOperatorFormula
()
const
{
18
return
true
;
19
}
20
21
boost::any
RewardOperatorFormula::accept
(
FormulaVisitor
const
& visitor, boost::any
const
& data)
const
{
22
return
visitor.
visit
(*
this
, data);
23
}
24
25
std::string
const
&
RewardOperatorFormula::getRewardModelName
()
const
{
26
return
this->rewardModelName.get();
27
}
28
29
bool
RewardOperatorFormula::hasRewardModelName
()
const
{
30
return
static_cast<
bool
>
(rewardModelName);
31
}
32
33
boost::optional<std::string>
const
&
RewardOperatorFormula::getOptionalRewardModelName
()
const
{
34
return
this->rewardModelName;
35
}
36
37
void
RewardOperatorFormula::gatherReferencedRewardModels
(std::set<std::string>& referencedRewardModels)
const
{
38
if
(this->
hasRewardModelName
()) {
39
referencedRewardModels.insert(this->
getRewardModelName
());
40
}
else
{
41
referencedRewardModels.insert(
""
);
42
}
43
this->
getSubformula
().
gatherReferencedRewardModels
(referencedRewardModels);
44
}
45
46
std::ostream&
RewardOperatorFormula::writeToStream
(std::ostream& out,
bool
/* allowParentheses */
)
const
{
47
// No parentheses necessary
48
out <<
"R"
;
49
if
(this->
hasRewardModelName
()) {
50
out <<
"{\""
<< this->
getRewardModelName
() <<
"\"}"
;
51
}
52
OperatorFormula::writeToStream
(out);
53
return
out;
54
}
55
}
// namespace logic
56
}
// namespace storm
FormulaVisitor.h
InvalidPropertyException.h
RewardOperatorFormula.h
storm::logic::Formula::gatherReferencedRewardModels
virtual void gatherReferencedRewardModels(std::set< std::string > &referencedRewardModels) const
Definition
Formula.cpp:583
storm::logic::FormulaVisitor
Definition
FormulaVisitor.h:12
storm::logic::FormulaVisitor::visit
virtual boost::any visit(AtomicExpressionFormula const &f, boost::any const &data) const =0
storm::logic::OperatorFormula::operatorInformation
OperatorInformation operatorInformation
Definition
OperatorFormula.h:62
storm::logic::OperatorFormula::OperatorFormula
OperatorFormula(std::shared_ptr< Formula const > const &subformula, OperatorInformation const &operatorInformation=OperatorInformation())
Definition
OperatorFormula.cpp:19
storm::logic::OperatorFormula::writeToStream
virtual std::ostream & writeToStream(std::ostream &out, bool allowParentheses=false) const override
Writes the forumla to the given output stream.
Definition
OperatorFormula.cpp:131
storm::logic::RewardOperatorFormula::writeToStream
virtual std::ostream & writeToStream(std::ostream &out, bool allowParentheses=false) const override
Writes the forumla to the given output stream.
Definition
RewardOperatorFormula.cpp:46
storm::logic::RewardOperatorFormula::isRewardOperatorFormula
virtual bool isRewardOperatorFormula() const override
Definition
RewardOperatorFormula.cpp:17
storm::logic::RewardOperatorFormula::accept
virtual boost::any accept(FormulaVisitor const &visitor, boost::any const &data) const override
Definition
RewardOperatorFormula.cpp:21
storm::logic::RewardOperatorFormula::getOptionalRewardModelName
boost::optional< std::string > const & getOptionalRewardModelName() const
Retrieves the optional representing the reward model name this property refers to.
Definition
RewardOperatorFormula.cpp:33
storm::logic::RewardOperatorFormula::RewardOperatorFormula
RewardOperatorFormula(std::shared_ptr< Formula const > const &subformula, boost::optional< std::string > const &rewardModelName=boost::none, OperatorInformation const &operatorInformation=OperatorInformation())
Definition
RewardOperatorFormula.cpp:11
storm::logic::RewardOperatorFormula::gatherReferencedRewardModels
virtual void gatherReferencedRewardModels(std::set< std::string > &referencedRewardModels) const override
Definition
RewardOperatorFormula.cpp:37
storm::logic::RewardOperatorFormula::getRewardModelName
std::string const & getRewardModelName() const
Retrieves the name of the reward model this property refers to (if any).
Definition
RewardOperatorFormula.cpp:25
storm::logic::RewardOperatorFormula::hasRewardModelName
bool hasRewardModelName() const
Retrieves whether the reward model refers to a specific reward model.
Definition
RewardOperatorFormula.cpp:29
storm::logic::UnaryStateFormula::getSubformula
Formula const & getSubformula() const
Definition
UnaryStateFormula.cpp:15
macros.h
storm::logic
Definition
BigStep.h:13
storm
Definition
AutomaticSettings.cpp:13
storm::logic::OperatorInformation
Definition
OperatorFormula.h:16
src
storm
logic
RewardOperatorFormula.cpp
Generated by
1.15.0