|
#pragma once
|
|
|
|
// TODO: Specify the concept of an iterator
|
|
|
|
namespace gp {
|
|
|
|
/**
|
|
* @brief An enumeration that may be used to determine iterator categories
|
|
*
|
|
*/
|
|
enum class iterator_type_t{
|
|
contiguous_iterator, /**< Defines an iterator for something that is continuous and random access */
|
|
non_contiguous_iterator, /**< Defines an iterator for a non contiguous datastructure, for example an iterator over a hashmap or a tree */
|
|
lazy_iterator /**< Defines an iterator for which the actual data layout and availability are still unknown */
|
|
};
|
|
}
|