Nugget
|
#include <iterator.h>
Static Public Attributes | |
static const bool | value = (sizeof(test<Iterator>(NULL)) == sizeof(eastl::yes_type)) |
Tells if an Iterator type is a wrapper type as opposed to a regular type. Relies on the class declaring a typedef called wrapped_iterator_type.
Examples of wrapping iterators: reverse_iterator generic_iterator move_iterator Examples of non-wrapping iterators: iterator list::iterator char*
Example behavior: is_iterator_wrapper(int*)::value => false is_iterator_wrapper(eastl::array<char>*)::value => false is_iterator_wrapper(eastl::vector<int>::iterator)::value => false is_iterator_wrapper(eastl::generic_iterator<int*>)::value => true is_iterator_wrapper(eastl::move_iterator<eastl::array<int>::iterator>)::value => true