VCCC  2024.05
VisualCamp Common C++ library
join_view< V >::iterator< Const > Class Template Reference

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

+ Inheritance diagram for join_view< V >::iterator< Const >:

Public Types

using iterator_concept = detail::join_view_iterator_concept< Base >
 
using value_type = range_value_t< range_reference_t< Base > >
 
using difference_type = common_type_t< range_difference_t< Base >, range_difference_t< range_reference_t< Base > >>
 
using pointer = void
 
using reference = decltype(**std::declval< movable_box< InnerIter > & >())
 

Public Member Functions

template<typename O = OuterIter, std::enable_if_t< conjunction< default_initializable< O >, default_initializable< InnerIter > >::value, int > = 0>
 iterator ()
 
constexpr iterator (Parent &parent, OuterIter outer)
 
template<bool AntiConst, std::enable_if_t< conjunction< bool_constant<((Const !=AntiConst) &&Const)>, convertible_to< iterator_t< V >, OuterIter >, convertible_to< iterator_t< InnerRng< false >>, InnerIter > >::value, int > = 0>
constexpr iterator (iterator< AntiConst > i)
 
constexpr decltype(auto) operator* () const
 
template<typename II = InnerIter, std::enable_if_t< conjunction< has_operator_arrow< II >, copyable< II > >::value, int > = 0>
constexpr decltype(auto) operator-> () const
 
template<bool B = ref_is_glvalue, std::enable_if_t< B, int > = 0>
constexpr iteratoroperator++ ()
 
template<bool B = ref_is_glvalue, std::enable_if_t< B==false, int > = 0>
constexpr iteratoroperator++ ()
 
template<bool B = ref_is_glvalue, std::enable_if_t< conjunction< bool_constant< B >, forward_range< Base >, forward_range< range_reference_t< Base >> >::value==false, int > = 0>
constexpr void operator++ (int)
 
template<bool B = ref_is_glvalue, std::enable_if_t< conjunction< bool_constant< B >, forward_range< Base >, forward_range< range_reference_t< Base >> >::value, int > = 0>
constexpr iterator operator++ (int)
 
template<bool B = ref_is_glvalue, std::enable_if_t< conjunction< bool_constant< B >, bidirectional_range< Base >, bidirectional_range< range_reference_t< Base >>, common_range< range_reference_t< Base >> >::value, int > = 0>
constexpr iteratoroperator-- ()
 
template<bool B = ref_is_glvalue, std::enable_if_t< conjunction< bool_constant< B >, bidirectional_range< Base >, bidirectional_range< range_reference_t< Base >>, common_range< range_reference_t< Base >> >::value, int > = 0>
constexpr iterator operator-- (int)
 
constexpr void satisfy ()
 
constexpr decltype(auto) friend iter_move (const iterator &i) noexcept(noexcept(ranges::iter_move(*i.inner_)))
 

Friends

class join_view
 
template<bool >
class sentinel
 
template<bool B = ref_is_glvalue, std::enable_if_t< conjunction< bool_constant< B >, equality_comparable< iterator_t< Base >>, equality_comparable< iterator_t< range_reference_t< Base >>> >::value, int > = 0>
constexpr friend bool operator== (const iterator &x, const iterator &y)
 
template<bool B = ref_is_glvalue, std::enable_if_t< conjunction< bool_constant< B >, equality_comparable< iterator_t< Base >>, equality_comparable< iterator_t< range_reference_t< Base >>> >::value, int > = 0>
constexpr friend bool operator!= (const iterator &x, const iterator &y)
 
template<typename II = InnerIter, std::enable_if_t< indirectly_swappable< II >::value, int > = 0>
constexpr friend void iter_swap (const iterator &x, const iterator &y) noexcept(noexcept(ranges::iter_swap(*x.inner_, *y.inner_)))
 

Member Typedef Documentation

◆ difference_type

◆ iterator_concept

using iterator_concept = detail::join_view_iterator_concept<Base>

◆ pointer

using pointer = void

◆ reference

using reference = decltype(**std::declval<movable_box<InnerIter>&>())

◆ value_type

Constructor & Destructor Documentation

◆ iterator() [1/3]

iterator ( )
inline

◆ iterator() [2/3]

constexpr iterator ( Parent &  parent,
OuterIter  outer 
)
inlineconstexpr

◆ iterator() [3/3]

constexpr iterator ( iterator< AntiConst >  i)
inlineconstexpr

Member Function Documentation

◆ iter_move()

constexpr decltype(auto) friend iter_move ( const iterator< Const > &  i)
inlineconstexprnoexcept

◆ operator*()

constexpr decltype(auto) operator* ( ) const
inlineconstexpr

◆ operator++() [1/4]

constexpr iterator& operator++ ( )
inlineconstexpr

◆ operator++() [2/4]

constexpr iterator& operator++ ( )
inlineconstexpr

◆ operator++() [3/4]

constexpr void operator++ ( int  )
inlineconstexpr

◆ operator++() [4/4]

constexpr iterator operator++ ( int  )
inlineconstexpr

◆ operator--() [1/2]

constexpr iterator& operator-- ( )
inlineconstexpr

◆ operator--() [2/2]

constexpr iterator operator-- ( int  )
inlineconstexpr

◆ operator->()

constexpr decltype(auto) operator-> ( ) const
inlineconstexpr

◆ satisfy()

constexpr void satisfy ( )
inlineconstexpr

Friends And Related Function Documentation

◆ iter_swap

constexpr friend void iter_swap ( const iterator< Const > &  x,
const iterator< Const > &  y 
)
friend

◆ join_view

friend class join_view
friend

◆ operator!=

constexpr friend bool operator!= ( const iterator< Const > &  x,
const iterator< Const > &  y 
)
friend

◆ operator==

constexpr friend bool operator== ( const iterator< Const > &  x,
const iterator< Const > &  y 
)
friend

◆ sentinel

friend class sentinel
friend

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