LLVM 19.0.0git
Public Types | Public Member Functions | List of all members
llvm::detail::zip_longest_iterator< Iters > Class Template Reference

#include "llvm/ADT/STLExtras.h"

Inheritance diagram for llvm::detail::zip_longest_iterator< Iters >:
Inheritance graph
[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 = std::common_type_t< std::forward_iterator_tag, std::iterator_traits< Iters >::iterator_category... >
 
using value_type = ZipLongestTupleType< Iters... >::type
 
using difference_type = std::iterator_traits< std::tuple_element_t< 0, std::tuple< Iters... > > >::difference_type
 
using pointer = ZipLongestTupleType< Iters... >::type *
 
using reference = ZipLongestTupleType< Iters... >::type
 

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++ (int)
 
zip_longest_iterator< Iters... > & operator-- ()
 
zip_longest_iterator< Iters... > operator-- (int)
 
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 920 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 932 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 957 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 961 of file STLExtras.h.

◆ operator++()

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

Definition at line 965 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 970 of file STLExtras.h.

References test.


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