MADARA
3.2.3
|
Provides functions and classes for the distributed knowledge base. More...
Namespaces | |
containers | |
Provides container classes for fast knowledge base access and mutation. | |
rcw | |
Namespace holding Read-Compute-Write based abstractions for knowledge base access. | |
tags | |
Tags to specify what type to construct in KnowledgeRecord forwarding constructors. | |
Classes | |
class | AggregateFilter |
This class stores a function definition. More... | |
class | CheckpointSettings |
Holds settings for checkpoints to load or save. More... | |
class | CompiledExpression |
Compiled, optimized KaRL logic. More... | |
class | ContextGuard |
A thread-safe guard for a context or knowledge base. More... | |
class | EvalSettings |
Encapsulates settings for an evaluation statement. More... | |
class | FileHeader |
Defines a file header which is the default for KaRL checkpointing. More... | |
class | FileSettings |
This class provides an interface into the KnowledgeEngine that governs how files are prioritized, modified, and handled. More... | |
class | Function |
This class stores a function definition. More... | |
class | KnowledgeBase |
This class provides a distributed knowledge base to users. More... | |
class | KnowledgeBaseImpl |
This class provides a distributed knowledge base implementation. More... | |
class | KnowledgeRecord |
This class encapsulates an entry in a KnowledgeBase. More... | |
class | KnowledgeRecordFilters |
Provides map of data types to a filter chain to apply to the data. More... | |
class | KnowledgeReferenceSettings |
Settings for applying knowledge updates. More... | |
class | KnowledgeRequirements |
Holds settings requirements for knowledge, usually in copying. More... | |
class | KnowledgeUpdateSettings |
Settings for applying knowledge updates. More... | |
class | ThreadSafeContext |
This class stores variables and their values for use by any entity needing state information in a thread safe way. More... | |
class | type |
helper type for specifying template type parameters using a function argument instead of inside explicit "<...>". More... | |
class | VariableReference |
Optimized reference to a variable within the knowledge base. More... | |
struct | VariableReferenceMapCompare |
class | Variables |
Provides an interface for external functions into the MADARA KaRL variable settings. More... | |
class | WaitSettings |
Encapsulates settings for a wait statement. More... | |
Typedefs | |
typedef std::list< AggregateFilter > | AggregateFilters |
Typedef for a list of aggregate filters. More... | |
typedef std::map< std::string, bool > | CopySet |
Typedef for set of copyable keys. More... | |
typedef std::list< Function > | FilterChain |
a chain of filters More... | |
typedef std::map< uint32_t, FilterChain > | FilterMap |
a map of types to filter chain More... | |
typedef std::vector< KnowledgeRecord > | FunctionArguments |
typedef std::map< std::string, Function > | FunctionMap |
typedef std::string | KnowledgeKey |
typedef ::std::map< std::string, KnowledgeRecord > | KnowledgeMap |
typedef ::std::map< std::string, KnowledgeRecord * > | KnowledgeRecords |
typedef ::std::vector< std::string > | KnowledgeRules |
typedef KnowledgeRecord | KnowledgeValue |
typedef ::std::vector< KnowledgeRecord > | KnowledgeVector |
typedef std::vector< std::string > | PrefixVector |
Typedef for vector of prefixes to use for a generic task. More... | |
typedef ::std::vector< std::string > | StringVector |
typedef madara::knowledge::KnowledgeRecord | VALUE_TYPE |
typedef std::map< const char *, VariableReference, VariableReferenceMapCompare > | VariableReferenceMap |
a map of variable references More... | |
typedef std::vector< VariableReference > | VariableReferences |
a vector of variable references More... | |
Enumerations | |
enum | { ASSIGNMENT = 0, MULTIPLE_ASSIGNMENT = 1 } |
Functions | |
template<typename T > | |
void | destruct (T &x) |
template<class Out > | |
Out | knowledge_cast (const KnowledgeRecord &in) |
Convert a KnowledgeRecord into a specified type. More... | |
template<class Out > | |
Out | knowledge_cast (type< T > t, const KnowledgeRecord &in) |
Convert a KnowledgeRecord into a specified type, using the "type" helper struct to specify type. More... | |
template<class Out > | |
Out & | knowledge_cast (const KnowledgeRecord &in, Out &out) |
Convert a KnowledgeRecord into a specified type, using an output parameter. More... | |
template<class In > | |
KnowledgeRecord | knowledge_cast (const In &in) |
Convert a given value into a KnowledgeRecord. More... | |
uint32_t | max_quality (const knowledge::VariableReferenceMap &records) |
uint32_t | max_quality (const KnowledgeRecords &records) |
Returns the maximum quality within the records. More... | |
bool | operator!= (const char *l, const KnowledgeRecord &r) |
bool | operator!= (const KnowledgeRecord &l, const std::string &r) |
bool | operator!= (const std::string &l, const KnowledgeRecord &r) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator!= (const KnowledgeRecord &l, const T &r) -> decltype(knowledge_cast< T >(l)!=r) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator!= (const T &l, const KnowledgeRecord &r) -> decltype(l!=knowledge_cast< T >(r)) |
bool | operator!= (const KnowledgeRecord &l, std::nullptr_t) |
bool | operator!= (const KnowledgeRecord &l, const char *r) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator% (const KnowledgeRecord &l, const T &r) -> decltype(l%knowledge_cast(r)) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator% (const T &l, const KnowledgeRecord &r) -> decltype(knowledge_cast(l)%r) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator%= (KnowledgeRecord &l, const T &r) -> decltype(l%=knowledge_cast(r)) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator* (const KnowledgeRecord &l, const T &r) -> decltype(l *knowledge_cast(r)) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator* (const T &l, const KnowledgeRecord &r) -> decltype(knowledge_cast(l)*r) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator*= (KnowledgeRecord &l, const T &r) -> decltype(l *=knowledge_cast(r)) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator+ (const KnowledgeRecord &l, const T &r) -> decltype(l+knowledge_cast(r)) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator+ (const T &l, const KnowledgeRecord &r) -> decltype(knowledge_cast(l)+r) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator+= (KnowledgeRecord &l, const T &r) -> decltype(l+=knowledge_cast(r)) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator- (const KnowledgeRecord &l, const T &r) -> decltype(l-knowledge_cast(r)) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator- (const T &l, const KnowledgeRecord &r) -> decltype(knowledge_cast(l)-r) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator-= (KnowledgeRecord &l, const T &r) -> decltype(l-=knowledge_cast(r)) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator/ (const T &l, const KnowledgeRecord &r) -> decltype(knowledge_cast(l)/r) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator/ (const KnowledgeRecord &l, const T &r) -> decltype(l/knowledge_cast(r)) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator/= (KnowledgeRecord &l, const T &r) -> decltype(l/=knowledge_cast(r)) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator< (const KnowledgeRecord &l, const T &r) -> decltype(knowledge_cast< T >(l)< r) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator< (const T &l, const KnowledgeRecord &r) -> decltype(l< knowledge_cast< T >(r)) |
bool | operator< (const KnowledgeRecord &l, std::nullptr_t) |
bool | operator< (const KnowledgeRecord &l, const char *r) |
bool | operator< (const char *l, const KnowledgeRecord &r) |
bool | operator< (const KnowledgeRecord &l, const std::string &r) |
bool | operator< (const std::string &l, const KnowledgeRecord &r) |
std::ostream & | operator<< (std::ostream &stream, const KnowledgeRecord &rhs) |
output stream buffering More... | |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator<= (const KnowledgeRecord &l, const T &r) -> decltype(knowledge_cast< T >(l)<=r) |
bool | operator<= (const char *l, const KnowledgeRecord &r) |
bool | operator<= (const KnowledgeRecord &l, std::nullptr_t) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator<= (const T &l, const KnowledgeRecord &r) -> decltype(l<=knowledge_cast< T >(r)) |
bool | operator<= (const KnowledgeRecord &l, const char *r) |
bool | operator<= (const KnowledgeRecord &l, const std::string &r) |
bool | operator<= (const std::string &l, const KnowledgeRecord &r) |
bool | operator== (const KnowledgeRecord &l, const char *r) |
bool | operator== (const KnowledgeRecord &l, std::nullptr_t) |
bool | operator== (const char *l, const KnowledgeRecord &r) |
bool | operator== (const KnowledgeRecord &l, const std::string &r) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator== (const KnowledgeRecord &l, const T &r) -> decltype(knowledge_cast< T >(l)==r) |
bool | operator== (const std::string &l, const KnowledgeRecord &r) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator== (const T &l, const KnowledgeRecord &r) -> decltype(l==knowledge_cast< T >(r)) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator> (const KnowledgeRecord &l, const T &r) -> decltype(knowledge_cast< T >(l) >r) |
bool | operator> (const KnowledgeRecord &l, const std::string &r) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator> (const T &l, const KnowledgeRecord &r) -> decltype(l >knowledge_cast< T >(r)) |
bool | operator> (const std::string &l, const KnowledgeRecord &r) |
bool | operator> (const char *l, const KnowledgeRecord &r) |
bool | operator> (const KnowledgeRecord &l, const char *r) |
bool | operator> (const KnowledgeRecord &l, std::nullptr_t) |
bool | operator>= (const char *l, const KnowledgeRecord &r) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator>= (const KnowledgeRecord &l, const T &r) -> decltype(knowledge_cast< T >(l) >=r) |
bool | operator>= (const KnowledgeRecord &l, std::nullptr_t) |
bool | operator>= (const KnowledgeRecord &l, const std::string &r) |
bool | operator>= (const KnowledgeRecord &l, const char *r) |
bool | operator>= (const std::string &l, const KnowledgeRecord &r) |
template<typename T , typename std::enable_if<!std::is_convertible< T, KnowledgeRecord >::value &&std::is_fundamental< T >::value, void * >::type = nullptr> | |
auto | operator>= (const T &l, const KnowledgeRecord &r) -> decltype(l >=knowledge_cast< T >(r)) |
Provides functions and classes for the distributed knowledge base.
Main entry point to library.
typedef std::list<AggregateFilter> madara::knowledge::AggregateFilters |
Typedef for a list of aggregate filters.
Definition at line 173 of file AggregateFilter.h.
typedef std::map<std::string, bool> madara::knowledge::CopySet |
Typedef for set of copyable keys.
Definition at line 60 of file ThreadSafeContext.h.
typedef std::list<Function> madara::knowledge::FilterChain |
a chain of filters
Definition at line 41 of file KnowledgeRecordFilters.h.
typedef std::map<uint32_t, FilterChain> madara::knowledge::FilterMap |
a map of types to filter chain
Definition at line 44 of file KnowledgeRecordFilters.h.
typedef std::vector<KnowledgeRecord> madara::knowledge::FunctionArguments |
Definition at line 20 of file FunctionArguments.h.
typedef std::map<std::string, Function> madara::knowledge::FunctionMap |
Definition at line 17 of file FunctionMap.h.
typedef std::string madara::knowledge::KnowledgeKey |
Definition at line 1485 of file KnowledgeRecord.h.
typedef ::std::map< std::string, KnowledgeRecord> madara::knowledge::KnowledgeMap |
Definition at line 1479 of file KnowledgeRecord.h.
typedef ::std::map< std::string, KnowledgeRecord *> madara::knowledge::KnowledgeRecords |
Definition at line 1483 of file KnowledgeRecord.h.
typedef ::std::vector< std::string> madara::knowledge::KnowledgeRules |
Definition at line 1481 of file KnowledgeRecord.h.
Definition at line 1486 of file KnowledgeRecord.h.
typedef ::std::vector< KnowledgeRecord> madara::knowledge::KnowledgeVector |
Definition at line 1480 of file KnowledgeRecord.h.
typedef std::vector<std::string> madara::knowledge::PrefixVector |
Typedef for vector of prefixes to use for a generic task.
Definition at line 65 of file ThreadSafeContext.h.
typedef ::std::vector< std::string> madara::knowledge::StringVector |
Definition at line 1482 of file KnowledgeRecord.h.
Definition at line 43 of file ExternFunctionVariables.h.
typedef std::map<const char *, VariableReference, VariableReferenceMapCompare> madara::knowledge::VariableReferenceMap |
a map of variable references
Definition at line 112 of file VariableReference.h.
typedef std::vector<VariableReference> madara::knowledge::VariableReferences |
a vector of variable references
Definition at line 101 of file VariableReference.h.
anonymous enum |
Enumerator | |
---|---|
ASSIGNMENT | |
MULTIPLE_ASSIGNMENT |
Definition at line 8 of file UpdateTypes.h.
|
inline |
Definition at line 860 of file KnowledgeRecord.inl.
|
inline |
Convert a KnowledgeRecord into a specified type.
Supports std::string, bool, all arithmetic primitives, and std::vector of arithmetic primitives. This is implemented using the appropriate "to_..." methods provided by KnowledgeRecord, so refer to those for details on type coercion.
Internally this overload calls the version which takes type<Out> as first parameter, so to support custom types, overload that form.
Out | the type to try to convert to (must be specified explicitly) |
in | the KnowledgeRecord to read from |
|
inline |
Convert a KnowledgeRecord into a specified type, using the "type" helper struct to specify type.
Supports std::string, bool, all arithmetic primitives, and std::vector of arithmetic primitives. This is implemented using the appropriate "to_..." methods provided by KnowledgeRecord, so refer to those for details on type coercion.
To support custom types, overload this form with other Out types. These overloads should exist in the same namespace as the types themselves so they can be found with ADL.
t | an instance of the type helper struct to infer target type |
in | the KnowledgeRecord to read from |
Out | the type to try to convert to (inferred from t) |
|
inline |
Convert a KnowledgeRecord into a specified type, using an output parameter.
Supports std::string, bool, all arithmetic primitives, and STL containers of arithmetic primitives. This is implemented using the appropriate "to_..." methods provided by KnowledgeRecord, so refer to those for details on type coercion.
For most types, this calls the form which takes a type struct, and returns by value, putting that value into out. For STL containers, it modifies those containers inplace. For resizable containers, such as std::vector, the container will be resized to fit the value. For unresizable containers, such as std::array and native C arrays, excess values will be discarded, and any extra values in the target will be zeroed.
in | the KnowledgeRecord to read from |
out | output parameter to put converted value |
Out | the type to try to convert to (inferred from out) |
|
inline |
Convert a given value into a KnowledgeRecord.
Supports std::string, bool, all arithmetic primitives, and std::vector of arithmetic primitives.
in | the value to convert |
In | the type to convert from (inferred from in) |
|
inline |
Definition at line 60 of file VariableReference.inl.
|
inline |
Returns the maximum quality within the records.
records | the list of records to gauge quality of |
Definition at line 832 of file KnowledgeRecord.inl.
|
inline |
Definition at line 546 of file KnowledgeCast.h.
|
inline |
Definition at line 546 of file KnowledgeCast.h.
|
inline |
Definition at line 546 of file KnowledgeCast.h.
|
inline |
Definition at line 546 of file KnowledgeCast.h.
|
inline |
Definition at line 546 of file KnowledgeCast.h.
|
inline |
Definition at line 546 of file KnowledgeCast.h.
|
inline |
Definition at line 546 of file KnowledgeCast.h.
|
inline |
Definition at line 577 of file KnowledgeCast.h.
|
inline |
Definition at line 577 of file KnowledgeCast.h.
|
inline |
Definition at line 595 of file KnowledgeCast.h.
|
inline |
Definition at line 576 of file KnowledgeCast.h.
|
inline |
Definition at line 576 of file KnowledgeCast.h.
|
inline |
Definition at line 594 of file KnowledgeCast.h.
|
inline |
Definition at line 573 of file KnowledgeCast.h.
|
inline |
Definition at line 573 of file KnowledgeCast.h.
|
inline |
Definition at line 591 of file KnowledgeCast.h.
|
inline |
Definition at line 574 of file KnowledgeCast.h.
|
inline |
Definition at line 574 of file KnowledgeCast.h.
|
inline |
Definition at line 592 of file KnowledgeCast.h.
|
inline |
Definition at line 575 of file KnowledgeCast.h.
|
inline |
Definition at line 575 of file KnowledgeCast.h.
|
inline |
Definition at line 593 of file KnowledgeCast.h.
|
inline |
Definition at line 549 of file KnowledgeCast.h.
|
inline |
Definition at line 549 of file KnowledgeCast.h.
|
inline |
Definition at line 549 of file KnowledgeCast.h.
|
inline |
Definition at line 549 of file KnowledgeCast.h.
|
inline |
Definition at line 549 of file KnowledgeCast.h.
|
inline |
Definition at line 549 of file KnowledgeCast.h.
|
inline |
Definition at line 549 of file KnowledgeCast.h.
|
inline |
output stream buffering
Definition at line 555 of file KnowledgeRecord.inl.
|
inline |
Definition at line 547 of file KnowledgeCast.h.
|
inline |
Definition at line 547 of file KnowledgeCast.h.
|
inline |
Definition at line 547 of file KnowledgeCast.h.
|
inline |
Definition at line 547 of file KnowledgeCast.h.
|
inline |
Definition at line 547 of file KnowledgeCast.h.
|
inline |
Definition at line 547 of file KnowledgeCast.h.
|
inline |
Definition at line 547 of file KnowledgeCast.h.
|
inline |
Definition at line 545 of file KnowledgeCast.h.
|
inline |
Definition at line 545 of file KnowledgeCast.h.
|
inline |
Definition at line 545 of file KnowledgeCast.h.
|
inline |
Definition at line 545 of file KnowledgeCast.h.
|
inline |
Definition at line 545 of file KnowledgeCast.h.
|
inline |
Definition at line 545 of file KnowledgeCast.h.
|
inline |
Definition at line 545 of file KnowledgeCast.h.
|
inline |
Definition at line 550 of file KnowledgeCast.h.
|
inline |
Definition at line 550 of file KnowledgeCast.h.
|
inline |
Definition at line 550 of file KnowledgeCast.h.
|
inline |
Definition at line 550 of file KnowledgeCast.h.
|
inline |
Definition at line 550 of file KnowledgeCast.h.
|
inline |
Definition at line 550 of file KnowledgeCast.h.
|
inline |
Definition at line 550 of file KnowledgeCast.h.
|
inline |
Definition at line 548 of file KnowledgeCast.h.
|
inline |
Definition at line 548 of file KnowledgeCast.h.
|
inline |
Definition at line 548 of file KnowledgeCast.h.
|
inline |
Definition at line 548 of file KnowledgeCast.h.
|
inline |
Definition at line 548 of file KnowledgeCast.h.
|
inline |
Definition at line 548 of file KnowledgeCast.h.
|
inline |
Definition at line 548 of file KnowledgeCast.h.