7 std::unique_lock<std::mutex> lock(
mutex_);
14 parent->setPortInfo( remapping_it->second, info );
24 auto old_type = it->second.port_info.type();
25 if( old_type && old_type != info.
type() )
27 throw LogicError(
"Blackboard::set() failed: once declared, the type of a port shall not change. " 36 std::unique_lock<std::mutex> lock(
mutex_);
42 return &(it->second.port_info);
54 auto port_type = entry_it.second.port_info.type();
57 port_type = &( entry_it.second.value.type() );
60 std::cout << entry_it.first <<
" (" <<
demangle( port_type ) <<
") -> ";
67 std::cout <<
"remapped to parent [" << remapping_it->second <<
"]" <<std::endl;
71 std::cout << ((entry_it.second.value.empty()) ?
"empty" :
"full") << std::endl;
void debugMessage() const
const PortInfo * portInfo(const std::string &key)
const std::type_info * type() const
std::string demangle(char const *name)
std::weak_ptr< Blackboard > parent_bb_
void addSubtreeRemapping(std::string internal, std::string external)
std::unordered_map< std::string, Entry > storage_
void setPortInfo(std::string key, const PortInfo &info)
std::unordered_map< std::string, std::string > internal_to_external_