24#ifndef MYSQL_ITERATORS_META_H
25#define MYSQL_ITERATORS_META_H
39template <
class Iterator_t>
41 std::contiguous_iterator<Iterator_t>, std::contiguous_iterator_tag,
43 std::random_access_iterator<Iterator_t>,
44 std::random_access_iterator_tag,
46 std::bidirectional_iterator<Iterator_t>,
47 std::bidirectional_iterator_tag,
49 std::forward_iterator<Iterator_t>, std::forward_iterator_tag,
50 std::conditional_t<std::input_iterator<Iterator_t>,
51 std::input_iterator_tag,
void>>>>>;
61 std::derived_from<typename std::iterator_traits<Test>::iterator_category,
62 std::input_iterator_tag>;
72 std::derived_from<typename std::iterator_traits<Test>::iterator_category,
73 std::forward_iterator_tag>;
84 std::derived_from<typename std::iterator_traits<Test>::iterator_category,
85 std::bidirectional_iterator_tag>;
96 std::derived_from<typename std::iterator_traits<Test>::iterator_category,
97 std::random_access_iterator_tag>;
True if the iterator is declared to meet LegacyBidirectionalIterator requirements.
Definition: meta.h:83
True if the iterator is declared to meet LegacyForwardIterator requirements.
Definition: meta.h:71
True if the iterator is declared to meet LegacyRandomAccessIterator requirements.
Definition: meta.h:95
Definition: empty_sequence_iterator.h:37
std::conditional_t< std::contiguous_iterator< Iterator_t >, std::contiguous_iterator_tag, std::conditional_t< std::random_access_iterator< Iterator_t >, std::random_access_iterator_tag, std::conditional_t< std::bidirectional_iterator< Iterator_t >, std::bidirectional_iterator_tag, std::conditional_t< std::forward_iterator< Iterator_t >, std::forward_iterator_tag, std::conditional_t< std::input_iterator< Iterator_t >, std::input_iterator_tag, void > > > > > Iterator_concept_tag
Definition: meta.h:51