The Blackboard class - grail's universal data container.  
 More...
#include <Blackboard.hh>
 | 
| 
  | Blackboard (const Blackboard &other) | 
|   | 
| 
  | Blackboard (Blackboard &&other)=delete | 
|   | 
| 
Blackboard &  | operator= (const Blackboard &other) | 
|   | 
| 
Blackboard &  | operator= (Blackboard &&other)=delete | 
|   | 
| void  | Merge (const Blackboard &other, std::function< const std::any &(const std::any &, const std::any &)> mergeStrategy=OursStrategy) | 
|   | Merge - Merges data from other blackboard into this one. All conflicts are solved in favor of other blackboard.  More...
  | 
|   | 
| void  | RemoveEntry (const std::string &key) | 
|   | RemoveValue - Deletes value keyed with given name from this blackboard.  More...
  | 
|   | 
| bool  | ContainsKey (const std::string &key) const | 
|   | ContainsKey - Checks whether this blackboard contains given key.  More...
  | 
|   | 
| size_t  | Size () const | 
|   | Size.  More...
  | 
|   | 
| template<typename T >  | 
| void  | SetValue (const std::string &key, const T &value) | 
|   | SetValue - Inserts value keyed with name into this blackboard. If key already exists new value is assigned.  More...
  | 
|   | 
| template<typename T , std::enable_if_t<!std::is_reference< T >::value > *  = nullptr>  | 
| void  | SetValue (const std::string &key, T &&value) | 
|   | SetValue - Inserts value keyed with name into this blackboard. If key already exists new value is assigned.  More...
  | 
|   | 
| template<typename T >  | 
| void  | SetDefaultValue (const std::string &key) | 
|   | SetDefaultValue - Inserts default value of given type keyed with name into this blackboard. If key already exists new value is assigned.  More...
  | 
|   | 
| template<typename T >  | 
| const T &  | GetValue (const std::string &key) const | 
|   | GetValue - Returns value keyed with name. This method assumes that this blackboard contains given key!  More...
  | 
|   | 
| template<typename T >  | 
| T &  | GetOrAddValue (const std::string &key) | 
|   | GetOrAddValue - Returns value keyed with name. If blackboard does not contain key, new entry is created.  More...
  | 
|   | 
| template<typename T >  | 
| bool  | TryGetValue (const std::string &key, T &outValue) const | 
|   | TryGetValue - Checks whether blackboard contains given key. If it does, assigns keyed value to reference parameter outValue.  More...
  | 
|   | 
| 
void  | AddDataToNameMap (std::map< std::string, std::string > &outMap) const | 
|   | 
 | 
| static void  | TwoWayMerge (Blackboard &first, Blackboard &second, std::function< const std::any &(const std::any &, const std::any &)> firstStrategy=OursStrategy, std::function< const std::any &(const std::any &, const std::any &)> secondStrategy=OursStrategy) | 
|   | TwoWayMerge - merges second blackboard into first and first into second, uses provided merge strategies.  More...
  | 
|   | 
| static const std::any &  | OursStrategy (const std::any &ours, const std::any &theirs) | 
|   | OursStrategy.  More...
  | 
|   | 
| static const std::any &  | TheirsStrategy (const std::any &ours, const std::any &theirs) | 
|   | TheirsStrategy.  More...
  | 
|   | 
The Blackboard class - grail's universal data container. 
 
◆ ContainsKey()
      
        
          | bool grail::Blackboard::ContainsKey  | 
          ( | 
          const std::string &  | 
          key | ) | 
           const | 
        
      
 
ContainsKey - Checks whether this blackboard contains given key. 
- Parameters
 - 
  
  
 
- Returns
 - true if key exists, false if not 
 
 
 
◆ GetOrAddValue()
template<typename T > 
  
  
      
        
          | T& grail::Blackboard::GetOrAddValue  | 
          ( | 
          const std::string &  | 
          key | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
GetOrAddValue - Returns value keyed with name. If blackboard does not contain key, new entry is created. 
- Parameters
 - 
  
  
 
- Returns
 - value paired with given key 
 
 
 
◆ GetValue()
template<typename T > 
  
  
      
        
          | const T& grail::Blackboard::GetValue  | 
          ( | 
          const std::string &  | 
          key | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
GetValue - Returns value keyed with name. This method assumes that this blackboard contains given key! 
- Parameters
 - 
  
  
 
- Returns
 - value paired with given key 
 
 
 
◆ Merge()
      
        
          | void grail::Blackboard::Merge  | 
          ( | 
          const Blackboard &  | 
          other,  | 
        
        
           | 
           | 
          std::function< const std::any &(const std::any &, const std::any &)>  | 
          mergeStrategy = OursStrategy  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Merge - Merges data from other blackboard into this one. All conflicts are solved in favor of other blackboard. 
- Parameters
 - 
  
    | other |  | 
    | mergeStrategy | - determines how conflicts will be resolved  | 
  
   
 
 
◆ OursStrategy()
  
  
      
        
          | const std::any & grail::Blackboard::OursStrategy  | 
          ( | 
          const std::any &  | 
          ours,  | 
         
        
           | 
           | 
          const std::any &  | 
          theirs  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
static   | 
  
 
OursStrategy. 
- Parameters
 - 
  
  
 
- Returns
 - ours 
 
 
 
◆ RemoveEntry()
      
        
          | void grail::Blackboard::RemoveEntry  | 
          ( | 
          const std::string &  | 
          key | ) | 
           | 
        
      
 
RemoveValue - Deletes value keyed with given name from this blackboard. 
- Parameters
 - 
  
  
 
 
 
◆ SetDefaultValue()
template<typename T > 
  
  
      
        
          | void grail::Blackboard::SetDefaultValue  | 
          ( | 
          const std::string &  | 
          key | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
SetDefaultValue - Inserts default value of given type keyed with name into this blackboard. If key already exists new value is assigned. 
- Parameters
 - 
  
  
 
 
 
◆ SetValue() [1/2]
template<typename T > 
  
  
      
        
          | void grail::Blackboard::SetValue  | 
          ( | 
          const std::string &  | 
          key,  | 
         
        
           | 
           | 
          const T &  | 
          value  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
SetValue - Inserts value keyed with name into this blackboard. If key already exists new value is assigned. 
- Parameters
 - 
  
  
 
 
 
◆ SetValue() [2/2]
template<typename T , std::enable_if_t<!std::is_reference< T >::value > *  = nullptr> 
  
  
      
        
          | void grail::Blackboard::SetValue  | 
          ( | 
          const std::string &  | 
          key,  | 
         
        
           | 
           | 
          T &&  | 
          value  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
SetValue - Inserts value keyed with name into this blackboard. If key already exists new value is assigned. 
- Parameters
 - 
  
  
 
 
 
◆ Size()
      
        
          | size_t grail::Blackboard::Size  | 
          ( | 
           | ) | 
           const | 
        
      
 
Size. 
- Returns
 - blackboard's data size 
 
 
 
◆ TheirsStrategy()
  
  
      
        
          | const std::any & grail::Blackboard::TheirsStrategy  | 
          ( | 
          const std::any &  | 
          ours,  | 
         
        
           | 
           | 
          const std::any &  | 
          theirs  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
static   | 
  
 
TheirsStrategy. 
- Parameters
 - 
  
  
 
- Returns
 - theirs 
 
 
 
◆ TryGetValue()
template<typename T > 
  
  
      
        
          | bool grail::Blackboard::TryGetValue  | 
          ( | 
          const std::string &  | 
          key,  | 
         
        
           | 
           | 
          T &  | 
          outValue  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
inline   | 
  
 
TryGetValue - Checks whether blackboard contains given key. If it does, assigns keyed value to reference parameter outValue. 
- Parameters
 - 
  
  
 
- Returns
 - true if key exists, false if it does not 
 
 
 
◆ TwoWayMerge()
  
  
      
        
          | void grail::Blackboard::TwoWayMerge  | 
          ( | 
          Blackboard &  | 
          first,  | 
         
        
           | 
           | 
          Blackboard &  | 
          second,  | 
         
        
           | 
           | 
          std::function< const std::any &(const std::any &, const std::any &)>  | 
          firstStrategy = OursStrategy,  | 
         
        
           | 
           | 
          std::function< const std::any &(const std::any &, const std::any &)>  | 
          secondStrategy = OursStrategy  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
static   | 
  
 
TwoWayMerge - merges second blackboard into first and first into second, uses provided merge strategies. 
- Parameters
 - 
  
    | first |  | 
    | second |  | 
    | firstStrategy |  | 
    | secondStrategy |  | 
  
   
 
 
The documentation for this class was generated from the following files: