Iterator support for DataContainer
Enable Standard library compatible iterator support for DataContainer
As there is no raw data access for the DataContainer, an iterator would be necessary to implement custom functionality.
With iterator support we should be able to leverage the standard library and perform many non image processing or directly math related tasks of our data. Further, it is possible to write custom functionality, which we don't offer intrinsically in the DataContainer.
Eigen provides STL compatible iterators (see here). This could be used for a first step, and if we think we need anymore, we can/have to look further.
Should we prefer C++ Standard library algorithms such as min_element() or should we prefer to extend our DataContainer? Possible trade-off is speed vs extensibility. An iterator is most likely slower than the intrinsic Eigen functionality, as they don't generally provide vectorization. (we should add some benchmarks for this) But we don't have to provide all the functionality for all the DataHandlers.