MADARA
3.2.3
Main Page
Namespaces
Classes
Files
File List
File Members
SystemCallSetFixed.cpp
Go to the documentation of this file.
1
2
#ifndef _MADARA_NO_KARL_
3
4
5
#include "
madara/expression/LeafNode.h
"
6
#include "
madara/expression/SystemCallSetFixed.h
"
7
#include "
madara/knowledge/ThreadSafeContext.h
"
8
#include "
madara/expression/Visitor.h
"
9
10
11
madara::expression::SystemCallSetFixed::SystemCallSetFixed
(
12
madara::knowledge::ThreadSafeContext
& context,
13
const
ComponentNodes
& nodes)
14
:
SystemCallNode
(context, nodes)
15
{
16
17
}
18
19
// Dtor
20
madara::expression::SystemCallSetFixed::~SystemCallSetFixed
(
void
)
21
{
22
}
23
24
madara::knowledge::KnowledgeRecord
25
madara::expression::SystemCallSetFixed::item
(
void
)
const
26
{
27
return
madara::knowledge::KnowledgeRecord
(
nodes_
.size ());
28
}
29
33
madara::knowledge::KnowledgeRecord
34
madara::expression::SystemCallSetFixed::prune
(
bool
& can_change)
35
{
36
// this node never changes, but we may be able to prune what's inside
37
can_change =
true
;
38
39
madara::knowledge::KnowledgeRecord
result;
40
41
// this node should never have arguments
42
if
(
nodes_
.size () > 0)
43
{
44
madara_logger_ptr_log
(
logger_
,
logger::LOG_MINOR
,
45
"madara::expression::SystemCallSetFixed: "
46
"SystemCallSetFixed:prune: no arguments should be supplied to "
47
"#set_fixed(). Deleting arguments to reclaim memory.\n"
);
48
49
// delete any arguments that the user specified
50
for
(ComponentNodes::iterator i =
nodes_
.begin (); i !=
nodes_
.end ();
51
++i)
52
{
53
delete
*i;
54
}
55
56
nodes_
.clear ();
57
}
58
59
60
return
result;
61
}
62
65
madara::knowledge::KnowledgeRecord
66
madara::expression::SystemCallSetFixed::evaluate
(
67
const
madara::knowledge::KnowledgeUpdateSettings
&
/*settings*/
)
68
{
69
knowledge::KnowledgeRecord
return_value;
70
71
madara_logger_ptr_log
(
logger_
,
logger::LOG_MINOR
,
72
"madara::expression::SystemCallSetFixed: "
73
"System call set_fixed is setting double output format to std::fixed.\n"
);
74
75
knowledge::KnowledgeRecord::set_fixed
();
76
77
return
return_value;
78
}
79
80
// accept a visitor
81
void
82
madara::expression::SystemCallSetFixed::accept
(
83
madara::expression::Visitor
&visitor)
const
84
{
85
visitor.
visit
(*
this
);
86
}
87
88
#endif // _MADARA_NO_KARL_
madara::knowledge::KnowledgeRecord
This class encapsulates an entry in a KnowledgeBase.
Definition:
KnowledgeRecord.h:59
madara::knowledge::KnowledgeRecord::set_fixed
static void set_fixed(void)
Sets the output format for doubles to std::fixed.
Definition:
KnowledgeRecord.cpp:40
KnowledgeRecord
madara::knowledge::KnowledgeRecord KnowledgeRecord
Definition:
VariableCompareNode.cpp:8
madara::expression::SystemCallSetFixed::~SystemCallSetFixed
virtual ~SystemCallSetFixed(void)
Destructor.
Definition:
SystemCallSetFixed.cpp:20
madara::expression::CompositeTernaryNode::nodes_
ComponentNodes nodes_
Definition:
CompositeTernaryNode.h:76
madara::expression::ComponentNodes
std::deque< ComponentNode * > ComponentNodes
a vector of Component Nodes
Definition:
ComponentNode.h:101
madara::expression::ComponentNode::logger_
logger::Logger * logger_
handle the context
Definition:
ComponentNode.h:97
ThreadSafeContext.h
madara::knowledge::ThreadSafeContext
This class stores variables and their values for use by any entity needing state information in a thr...
Definition:
ThreadSafeContext.h:75
madara_logger_ptr_log
#define madara_logger_ptr_log(logger, level,...)
Fast version of the madara::logger::log method for Logger pointers.
Definition:
Logger.h:32
SystemCallSetFixed.h
madara::expression::Visitor
Abstract base class for all visitors to all classes that derive from ComponentNode.
Definition:
Visitor.h:91
LeafNode.h
madara::expression::SystemCallSetFixed::evaluate
virtual madara::knowledge::KnowledgeRecord evaluate(const madara::knowledge::KnowledgeUpdateSettings &settings)
Evaluates the expression tree.
Definition:
SystemCallSetFixed.cpp:66
madara::expression::SystemCallNode
Interface for a MADARA system call.
Definition:
SystemCallNode.h:25
madara::expression::SystemCallSetFixed::accept
virtual void accept(Visitor &visitor) const
Accepts a visitor subclassed from the Visitor class.
Definition:
SystemCallSetFixed.cpp:82
madara::logger::LOG_MINOR
Definition:
Logger.h:77
Visitor.h
madara::knowledge::KnowledgeUpdateSettings
Settings for applying knowledge updates.
Definition:
KnowledgeUpdateSettings.h:23
madara::expression::Visitor::visit
virtual void visit(const LeafNode &node)=0
Visit a LeafNode.
madara::expression::SystemCallSetFixed::item
virtual madara::knowledge::KnowledgeRecord item(void) const
Returns the value of the node.
Definition:
SystemCallSetFixed.cpp:25
madara::expression::SystemCallSetFixed::prune
virtual madara::knowledge::KnowledgeRecord prune(bool &can_change)
Prunes the expression tree of unnecessary nodes.
Definition:
SystemCallSetFixed.cpp:34
madara::expression::SystemCallSetFixed::SystemCallSetFixed
SystemCallSetFixed(madara::knowledge::ThreadSafeContext &context, const ComponentNodes &nodes)
Constructor.
Definition:
SystemCallSetFixed.cpp:11
include
madara
expression
SystemCallSetFixed.cpp
Generated on Thu Jul 12 2018 17:38:24 for MADARA by
1.8.11