MADARA  3.1.8
VariableReference.h
Go to the documentation of this file.
1 #ifndef _MADARA_VARIABLE_REFERENCE_H_
2 #define _MADARA_VARIABLE_REFERENCE_H_
3 
4 
13 #include <string>
14 #include "madara/MADARA_export.h"
17 
18 namespace madara
19 {
20  namespace knowledge
21  {
22  class ThreadSafeContext;
23  class KnolwedgeBaseImpl;
24  class Variables;
25 
26  namespace rcw
27  {
28  class BaseTracker;
29  }
30 
35  class MADARA_Export VariableReference
36  {
37  public:
38  friend class ThreadSafeContext;
39  friend class KnowledgeBaseImpl;
40  friend class Variables;
41  friend class rcw::BaseTracker;
42 
47 
53 
58 
63  bool is_valid (void) const;
64 
69  void operator= (const VariableReference & input);
70 
75  bool operator== (const VariableReference & rhs) const;
76 
81  bool operator!= (const VariableReference & rhs) const;
82 
87  const char * get_name (void) const;
88 
89  private:
90 
95  void set_name (const std::string & name);
96 
101 
106  };
107 
109  typedef std::vector <VariableReference> VariableReferences;
110  }
111 }
112 
113 #include "VariableReference.inl"
114 
115 #endif // _MADARA_VARIABLE_REFERENCE_H_
This class encapsulates an entry in a KnowledgeBase.
This class provides a distributed knowledge base implementation.
utility::ScopedArray< const char > name_
potential string value of the node (size int)
Base type for Trackers.
Definition: BaseTracker.h:62
This class stores variables and their values for use by any entity needing state information in a thr...
Optimized reference to a variable within the knowledge base.
static constexpr struct madara::knowledge::tags::string_t string
auto operator==(const Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get()==rhs.get())
Definition: Tracked.h:244
std::vector< VariableReference > VariableReferences
a vector of variable references
auto operator!=(const Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get()!=rhs.get())
Definition: Tracked.h:245
Provides functions and classes for the distributed knowledge base.
knowledge::KnowledgeRecord * record_
Reference to knowledge record.
Copyright (c) 2015 Carnegie Mellon University.
Provides an interface for external functions into the MADARA KaRL variable settings.