VCCC  2024.05
VisualCamp Common C++ library
concat_with_view< Pattern, Rngs >::iterator< IsConst > Struct Template Reference

#include </home/jarvis/actions-runner/jarvis-vccc-2/_work/vccc/vccc/include/vccc/__ranges/views/concat_with_view.hpp>

Public Types

using iterator_category = input_iterator_tag
 
using iterator_concept = std::conditional_t< conjunction< random_access_range< Rngs >... >::value, random_access_iterator_tag, std::conditional_t< conjunction< bidirectional_range< Rngs >... >::value, bidirectional_iterator_tag, std::conditional_t< conjunction< forward_range< Rngs >... >::value, forward_iterator_tag, input_iterator_tag > >>
 
using value_type = common_type_t< range_value_t< maybe_const< IsConst, Rngs > >... >
 
using difference_type = common_type_t< range_difference_t< Rngs >... >
 
using reference = common_reference_t< range_reference_t< maybe_const< IsConst, Rngs > >... >
 
using pointer = void
 

Public Member Functions

 iterator ()=default
 
template<std::size_t I, typename It >
constexpr iterator (Parent *parent, in_place_index_t< I >, It &&it)
 
template<bool Other, std::enable_if_t< conjunction< bool_constant<(Other !=IsConst &&IsConst)> >::value, int > = 0>
constexpr iterator (iterator< Other > that)
 
constexpr decltype(auto) operator* () const
 
constexpr bool equal (const sentinel< IsConst > &pos) const
 
constexpr iteratoroperator++ ()
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, negation< forward_range< Rngs >>... >::value, int > = 0>
constexpr void operator++ (int)
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, forward_range< Rngs >... >::value, int > = 0>
constexpr iterator operator++ (int)
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, bidirectional_range< Rngs >... >::value, int > = 0>
constexpr iteratoroperator-- ()
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, bidirectional_range< Rngs >... >::value, int > = 0>
constexpr iteratoroperator-- (int)
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, random_access_range< Rngs >... >::value, int > = 0>
constexpr iteratoroperator+= (difference_type n)
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, random_access_range< Rngs >... >::value, int > = 0>
constexpr iteratoroperator-= (difference_type n)
 

Friends

struct iterator<!IsConst >
 
template<typename V = variant<iterator_t<maybe_const<IsConst, Rngs>>...>, std::enable_if_t< equality_comparable< V > ::value, int > = 0>
constexpr friend bool operator== (const iterator &x, const iterator &y)
 
template<typename V = variant<iterator_t<maybe_const<IsConst, Rngs>>...>, std::enable_if_t< equality_comparable< V > ::value, int > = 0>
constexpr friend bool operator!= (const iterator &x, const iterator &y)
 
constexpr friend bool operator== (const iterator &x, const sentinel< IsConst > &y)
 
constexpr friend bool operator!= (const iterator &x, const sentinel< IsConst > &y)
 
constexpr friend bool operator== (const sentinel< IsConst > &y, const iterator &x)
 
constexpr friend bool operator!= (const sentinel< IsConst > &y, const iterator &x)
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, sized_sentinel_for< iterator_t< Rngs >, iterator_t< Rngs >>... >::value, int > = 0>
constexpr friend difference_type operator- (const iterator &x, const iterator &y)
 

Member Function Documentation

◆ operator++()

constexpr iterator operator++ ( int  )
inlineconstexpr

The documentation for this struct was generated from the following file: