Inherits true_type.
template<class T>
struct genesis::utils::is_iterator_tag_based< T, typename std::enable_if< std::is_base_of< std::input_iterator_tag, typename std::iterator_traits< T >::iterator_category >::value||std::is_same< std::output_iterator_tag, typename std::iterator_traits< T >::iterator_category >::value >::type >
Return whether a type is an iterator.
Usage example: static_assert( is_iterator_tag_based<int*>::value, "..." );
We use a conservative approach here, testing the iterator_category
instead of just the type properties. For a property-based approach, see https://stackoverflow.com/a/26768887/4184258
- See also
- is_iterator_tag_based, is_input_iterator_tag_based, is_output_iterator_tag_based, is_forward_iterator_tag_based, is_bidirectional_iterator_tag_based, is_random_access_iterator_tag_based
Definition at line 99 of file type_traits.hpp.