* @brief Provides a base class for common operations with raw buffer
* @brief Provides a base class for common operations with raw buffer
*
*
* For classes that handle a raw buffer of data, this will provide common operations such as equals, printing, and visitors.
* For classes that handle a raw buffer of data, this will provide common operations such as equals,
* To use this class the derived class needs to provide a `data()` method to retrieve a raw pointer to the data, and `get_shape` method that provides the shape of the data.
* printing, and visitors. To use this class the derived class needs to provide a `data()` method to
* retrieve a raw pointer to the data, and `get_shape` method that provides the shape of the data.