LLVM  8.0.1
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | List of all members
llvm::detail::zip_common< ZipType, Iters > Struct Template Reference

#include "llvm/ADT/STLExtras.h"

Inheritance diagram for llvm::detail::zip_common< ZipType, Iters >:
Inheritance graph
[legend]
Collaboration diagram for llvm::detail::zip_common< ZipType, Iters >:
Collaboration graph
[legend]

Public Types

using Base = zip_traits< ZipType, Iters... >
 
using value_type = typename Base::value_type
 

Public Member Functions

 zip_common (Iters &&... ts)
 
value_type operator* ()
 
const value_type operator* () const
 
ZipType & operator++ ()
 
ZipType & operator-- ()
 
- Public Member Functions inherited from llvm::iterator_facade_base< DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >
DerivedT operator+ (DifferenceTypeT n) const
 
DerivedT operator- (DifferenceTypeT n) const
 
DerivedT & operator++ ()
 
DerivedT operator++ (int)
 
DerivedT & operator-- ()
 
DerivedT operator-- (int)
 
bool operator!= (const DerivedT &RHS) const
 
bool operator> (const DerivedT &RHS) const
 
bool operator<= (const DerivedT &RHS) const
 
bool operator>= (const DerivedT &RHS) const
 
PointerT operator-> ()
 
PointerT operator-> () const
 
ReferenceProxy operator[] (DifferenceTypeT n)
 
ReferenceProxy operator[] (DifferenceTypeT n) const
 

Public Attributes

std::tuple< Iters... > iterators
 

Protected Member Functions

template<size_t... Ns>
value_type deref (index_sequence< Ns... >) const
 
template<size_t... Ns>
decltype(iteratorstup_inc (index_sequence< Ns... >) const
 
template<size_t... Ns>
decltype(iteratorstup_dec (index_sequence< Ns... >) const
 

Additional Inherited Members

- Protected Types inherited from llvm::iterator_facade_base< DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >
enum  { IsRandomAccess, IsBidirectional }
 

Detailed Description

template<typename ZipType, typename... Iters>
struct llvm::detail::zip_common< ZipType, Iters >

Definition at line 558 of file STLExtras.h.

Member Typedef Documentation

◆ Base

template<typename ZipType, typename... Iters>
using llvm::detail::zip_common< ZipType, Iters >::Base = zip_traits<ZipType, Iters...>

Definition at line 559 of file STLExtras.h.

◆ value_type

template<typename ZipType, typename... Iters>
using llvm::detail::zip_common< ZipType, Iters >::value_type = typename Base::value_type

Definition at line 560 of file STLExtras.h.

Constructor & Destructor Documentation

◆ zip_common()

template<typename ZipType, typename... Iters>
llvm::detail::zip_common< ZipType, Iters >::zip_common ( Iters &&...  ts)
inline

Definition at line 580 of file STLExtras.h.

Member Function Documentation

◆ deref()

template<typename ZipType, typename... Iters>
template<size_t... Ns>
value_type llvm::detail::zip_common< ZipType, Iters >::deref ( index_sequence< Ns... >  ) const
inlineprotected

Definition at line 565 of file STLExtras.h.

◆ operator*() [1/2]

template<typename ZipType, typename... Iters>
value_type llvm::detail::zip_common< ZipType, Iters >::operator* ( )
inline

Definition at line 582 of file STLExtras.h.

◆ operator*() [2/2]

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

Definition at line 584 of file STLExtras.h.

◆ operator++()

template<typename ZipType, typename... Iters>
ZipType& llvm::detail::zip_common< ZipType, Iters >::operator++ ( )
inline

Definition at line 588 of file STLExtras.h.

◆ operator--()

template<typename ZipType, typename... Iters>
ZipType& llvm::detail::zip_common< ZipType, Iters >::operator-- ( )
inline

Definition at line 593 of file STLExtras.h.

◆ tup_dec()

template<typename ZipType, typename... Iters>
template<size_t... Ns>
decltype(iterators) llvm::detail::zip_common< ZipType, Iters >::tup_dec ( index_sequence< Ns... >  ) const
inlineprotected

Definition at line 575 of file STLExtras.h.

◆ tup_inc()

template<typename ZipType, typename... Iters>
template<size_t... Ns>
decltype(iterators) llvm::detail::zip_common< ZipType, Iters >::tup_inc ( index_sequence< Ns... >  ) const
inlineprotected

Definition at line 570 of file STLExtras.h.

Member Data Documentation

◆ iterators

template<typename ZipType, typename... Iters>
std::tuple<Iters...> llvm::detail::zip_common< ZipType, Iters >::iterators

Definition at line 562 of file STLExtras.h.


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