* @brief Database. An abstract class representing a database. All databases should inherit from this class. All subclasses should overwrite :cpp:function:`Database::get_item` to fetch data from a given index.
* @brief Database. An abstract class representing a map from a key to data. All databases should inherit from this class. All subclasses should overwrite :cpp:function:`Database::getItem` to fetch data from a given index.
* @todo Make the dataset generic. Always ground truth.
*/
*/
classDatabase{
classDatabase{
public:
public:
Database()=default;
virtual~Database()=default;
virtual~Database()=default;
/**
/**
* @brief Fetch a data sample and its corresponding ground_truth
* @brief Fetch an item of the database.
* @param index index of the pair (```data```, ```ground truth```) to fetch from the database
* @param index index of the item.
* @return A pair of pointers to the data (first) and its corresping ground truth (second)