LLVM 22.0.0git
llvm::detail::zip_longest_iterator< Iters > Class Template Reference

#include "llvm/ADT/STLExtras.h"

Inheritance diagram for llvm::detail::zip_longest_iterator< Iters >:
[legend]

Public Types

using value_type = typename ZipLongestTupleType<Iters...>::type
Public Types inherited from llvm::iterator_facade_base< zip_longest_iterator< Iters... >, std::common_type_t< std::forward_iterator_tag, std::iterator_traits< Iters >::iterator_category... >, ZipLongestTupleType< Iters... >::type, std::iterator_traits< std::tuple_element_t< 0, std::tuple< Iters... > > >::difference_type, ZipLongestTupleType< Iters... >::type *, ZipLongestTupleType< Iters... >::type >
using iterator_category
using value_type
using difference_type
using pointer
using reference

Public Member Functions

 zip_longest_iterator (std::pair< Iters &&, Iters && >... ts)
value_type operator* () const
zip_longest_iterator< Iters... > & operator++ ()
bool operator== (const zip_longest_iterator< Iters... > &other) const
Public Member Functions inherited from llvm::iterator_facade_base< zip_longest_iterator< Iters... >, std::common_type_t< std::forward_iterator_tag, std::iterator_traits< Iters >::iterator_category... >, ZipLongestTupleType< Iters... >::type, std::iterator_traits< std::tuple_element_t< 0, std::tuple< Iters... > > >::difference_type, ZipLongestTupleType< Iters... >::type *, ZipLongestTupleType< Iters... >::type >
zip_longest_iterator< Iters... > operator+ (std::iterator_traits< std::tuple_element_t< 0, std::tuple< Iters... > > >::difference_type n) const
zip_longest_iterator< Iters... > operator- (std::iterator_traits< std::tuple_element_t< 0, std::tuple< Iters... > > >::difference_type n) const
zip_longest_iterator< Iters... > & operator++ ()
zip_longest_iterator< Iters... > & operator-- ()
bool operator!= (const zip_longest_iterator< Iters... > &RHS) const
bool operator> (const zip_longest_iterator< Iters... > &RHS) const
bool operator<= (const zip_longest_iterator< Iters... > &RHS) const
bool operator>= (const zip_longest_iterator< Iters... > &RHS) const
PointerProxy operator-> () const
ReferenceProxy operator[] (std::iterator_traits< std::tuple_element_t< 0, std::tuple< Iters... > > >::difference_type n) const

Additional Inherited Members

Protected Types inherited from llvm::iterator_facade_base< zip_longest_iterator< Iters... >, std::common_type_t< std::forward_iterator_tag, std::iterator_traits< Iters >::iterator_category... >, ZipLongestTupleType< Iters... >::type, std::iterator_traits< std::tuple_element_t< 0, std::tuple< Iters... > > >::difference_type, ZipLongestTupleType< Iters... >::type *, ZipLongestTupleType< Iters... >::type >
enum  

Detailed Description

template<typename... Iters>
class llvm::detail::zip_longest_iterator< Iters >

Definition at line 889 of file STLExtras.h.

Member Typedef Documentation

◆ value_type

template<typename... Iters>
using llvm::detail::zip_longest_iterator< Iters >::value_type = typename ZipLongestTupleType<Iters...>::type

Definition at line 901 of file STLExtras.h.

Constructor & Destructor Documentation

◆ zip_longest_iterator()

template<typename... Iters>
llvm::detail::zip_longest_iterator< Iters >::zip_longest_iterator ( std::pair< Iters &&, Iters && >... ts)
inline

Definition at line 926 of file STLExtras.h.

Member Function Documentation

◆ operator*()

template<typename... Iters>
value_type llvm::detail::zip_longest_iterator< Iters >::operator* ( ) const
inline

Definition at line 930 of file STLExtras.h.

◆ operator++()

template<typename... Iters>
zip_longest_iterator< Iters... > & llvm::detail::zip_longest_iterator< Iters >::operator++ ( )
inline

Definition at line 934 of file STLExtras.h.

◆ operator==()

template<typename... Iters>
bool llvm::detail::zip_longest_iterator< Iters >::operator== ( const zip_longest_iterator< Iters... > & other) const
inline

Definition at line 939 of file STLExtras.h.


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