Class Blackboard

Class Documentation

class Blackboard

A thread-safe storage for key-value pairs of varying types.

The Blackboard class allows storing, retrieving, and managing values associated with string keys in a thread-safe manner using a recursive mutex.

Public Functions

Blackboard()

Default constructor for Blackboard.

Blackboard(const Blackboard &other)

Copy constructor for Blackboard.

Parameters:

other – The instance to copy from.

template<class T>
inline void set(const std::string &name, T value)

Set a value in the blackboard.

Template Parameters:

T – The type of the value to store.

Parameters:
  • name – The key to associate with the value.

  • value – The value to store.

template<class T>
inline T get(const std::string &key)

Retrieve a value from the blackboard.

Template Parameters:

T – The type of the value to retrieve.

Parameters:

name – The key associated with the value.

Throws:

std::runtime_error – if the key does not exist.

Returns:

The value associated with the specified key.

void remove(const std::string &key)

Remove a value from the blackboard.

Parameters:

key – The key associated with the value to remove.

bool contains(const std::string &key)

Check if a key exists in the blackboard.

Parameters:

key – The key to check.

Returns:

True if the key exists, false otherwise.

int size()

Get the number of key-value pairs in the blackboard.

Returns:

The size of the blackboard.

std::string get_type(const std::string &key)

Get the type of a value stored in the blackboard.

Parameters:

key – The key associated with the value.

Throws:

std::runtime_error – if the key does not exist.

Returns:

A string representation of the type.

std::string to_string()

Convert the contents of the blackboard to a string.

Returns:

A string representation of the blackboard.

void set_remappings(const std::map<std::string, std::string> &remappings)

Set the remappings of the blackboard.

Parameters:

remappings – The remappings to set.

const std::map<std::string, std::string> &get_remappings()

Get the remappings of the blackboard.

Returns:

The remappings of the blackboard.