MADARA  3.2.3
CompiledExpression.h
Go to the documentation of this file.
1 #ifndef _MADARA_COMPILED_EXPRESSION_H_
2 #define _MADARA_COMPILED_EXPRESSION_H_
3 
4 #ifndef _MADARA_NO_KARL_
5 
14 #include <string>
15 #include "madara/MadaraExport.h"
17 
18 namespace madara
19 {
20  namespace expression
21  {
22  class SystemCallEval;
23  }
24  namespace knowledge
25  {
26  class ThreadSafeContext;
27  class KnolwedgeBaseImpl;
28  class Variables;
29  class KnowledgeBase;
30 
35  class MADARA_EXPORT CompiledExpression
36  {
37  public:
38  //class KnowledgeBaseImpl;
39  friend class ThreadSafeContext;
40  friend class KnowledgeBaseImpl;
41  friend class Variables;
42  friend class KnowledgeBase;
44 
49 
55 
60 
65  void operator= (const CompiledExpression & ce);
66 
70  expression::ComponentNode * get_root (void);
71 
72  private:
75 
78  };
79  }
80 }
81 
82 #endif // _MADARA_NO_KARL_
83 
84 #endif // _MADARA_COMPILED_EXPRESSION_H_
This class provides a distributed knowledge base implementation.
Encapsulates a MADARA KaRL expression into an evaluatable tree.
This class stores variables and their values for use by any entity needing state information in a thr...
std::string logic
the logic that was compiled
Compiled, optimized KaRL logic.
madara::expression::ExpressionTree expression
the expression tree
static struct madara::knowledge::tags::string_t string
Evaluates a knowledge::KnowledgeRecord and returns the evaluation result.
This class provides a distributed knowledge base to users.
Definition: KnowledgeBase.h:45
An abstract base class defines a simple abstract implementation of an expression tree node...
Definition: ComponentNode.h:36
Provides functions and classes for the distributed knowledge base.
Copyright (c) 2015 Carnegie Mellon University.
Provides an interface for external functions into the MADARA KaRL variable settings.