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