template struct conditional; template struct incrementable_traits; template struct __iter_traits_impl; class __max_diff_type; template concept weakly_incrementable = __is_same (__iter_traits_impl<_Iter, incrementable_traits<_Iter>>, __max_diff_type); template class reverse_iterator { public: using iterator_concept = typename conditional, int, int>::type; };