MADARA
3.2.3
|
Tracker that puts values into a multiple prefixed KnowledgeRecord. More...
#include <PrefixTracker.h>
Private Types | |
typedef std::decay< decltype(get_value(std::declval< T >)[0]))>::type | V |
Private Member Functions | |
PrefixTracker (T *tracked, const std::string &prefix, KnowledgeBase &kb) | |
virtual void | force_push (KnowledgeBase &kb) |
As push, but ignore any modification status tracking. More... | |
virtual const char * | get_name () const |
Get name of MADARA variable. More... | |
virtual const void * | get_tracked () const |
Get pointer to tracked object. More... | |
virtual void | pull () |
Override to implement pulling logic (from ref_) More... | |
virtual void | push (KnowledgeBase &kb) |
Override to implement pushing logic (into ref_) More... | |
void | update_elems () |
Update knowledge base array so it matches dimensions of the tracked object. More... | |
Private Attributes | |
std::vector< VariableReference > | elems_ |
The knowledge base to reference. More... | |
KnowledgeBase | kb_ |
prefix string to use More... | |
std::string | prefix_ |
Tracked std::vector. More... | |
T * | tracked_ |
Static Private Attributes | |
static const bool | can_read = RD |
static const bool | can_write = WR |
Friends | |
class | Transaction |
Tracker that puts values into a multiple prefixed KnowledgeRecord.
Used internally by Transaction. Not visible to normal users. Specialization of PrefixTracker for std::vector<Tracked<...>>
Definition at line 53 of file PrefixTracker.h.
|
private |
Definition at line 71 of file PrefixTracker.h.
|
inlineprivate |
Definition at line 76 of file PrefixTracker.h.
|
inlineprivatevirtual |
As push, but ignore any modification status tracking.
Implements madara::knowledge::rcw::BaseTracker.
Definition at line 145 of file PrefixTracker.h.
|
inlineprivatevirtual |
Get name of MADARA variable.
Implements madara::knowledge::rcw::BaseTracker.
Definition at line 160 of file PrefixTracker.h.
|
inlineprivatevirtual |
Get pointer to tracked object.
Implements madara::knowledge::rcw::BaseTracker.
Definition at line 165 of file PrefixTracker.h.
|
inlineprivatevirtual |
Override to implement pulling logic (from ref_)
Implements madara::knowledge::rcw::BaseTracker.
Definition at line 107 of file PrefixTracker.h.
|
inlineprivatevirtual |
Override to implement pushing logic (into ref_)
Implements madara::knowledge::rcw::BaseTracker.
Definition at line 123 of file PrefixTracker.h.
|
inlineprivate |
Update knowledge base array so it matches dimensions of the tracked object.
Definition at line 84 of file PrefixTracker.h.
|
friend |
Definition at line 170 of file PrefixTracker.h.
|
staticprivate |
Definition at line 73 of file PrefixTracker.h.
|
staticprivate |
Definition at line 74 of file PrefixTracker.h.
|
private |
The knowledge base to reference.
vector of references to elements of vector in knowledge base
Definition at line 69 of file PrefixTracker.h.
|
private |
prefix string to use
Definition at line 66 of file PrefixTracker.h.
|
private |
Tracked std::vector.
Definition at line 65 of file PrefixTracker.h.
|
private |
Definition at line 64 of file PrefixTracker.h.