CRTP base class for adapting an iterator to a different type.
Synopsis
Declared in <llvm/ADT/iterator.h>
template<
typename DerivedT,
typename WrappedIteratorT,
typename IteratorCategoryT = std::iterator_traits<WrappedIteratorT>::iterator_category,
typename T = std::iterator_traits<WrappedIteratorT>::value_type,
typename DifferenceTypeT = std::iterator_traits<WrappedIteratorT>::difference_type,
typename PointerT = std::conditional_t<std::is_same<T, typename std::iterator_traits<WrappedIteratorT>::value_type>::value, std::iterator_traits<WrappedIteratorT>::pointer, T*>,
typename ReferenceT = std::conditional_t<std::is_same<T, typename std::iterator_traits<WrappedIteratorT>::value_type>::value, std::iterator_traits<WrappedIteratorT>::reference, T&>>
class iterator_adaptor_base
: public iterator_facade_base<DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT>
Description
This class can be used through CRTP to adapt one iterator into another. Typically this is done through providing in the derived class a custom operator* implementation. Other methods can be overridden as well.
Base Classes
Name |
Description |
CRTP base class which implements the entire standard iterator facade in terms of a minimal subset of the interface. |
Type Aliases
Name |
Description |
Signed type used to express the distance between iterators. |
|
Iterator category tag for this facade. |
|
Pointer type returned by the iterator. |
|
Reference type returned by the iterator. |
|
Value type produced by the iterator. |
Enums
Name |
Description |
Capability flags for the iterator category. |
Member Functions
Name |
Description |
Dereference the wrapped iterator. |
|
Advance the iterator by |
|
Increment operators |
|
Advance the wrapped iterator by |
|
Subtraction operators |
|
Decrement operators |
|
Retreat the wrapped iterator by |
|
Return a proxy pointer to the current element. |
|
Return a proxy to the element at offset |
|
Return true if this iterator is less than or equal to |
|
Return true if this iterator is greater than |
|
Return true if this iterator is greater than or equal to |
Using Declarations
Name |
Description |
Bring the postfix increment operator into scope. |
|
Bring the offset‐subtraction operator from the facade into scope. |
|
Bring the postfix decrement operator into scope. |
Protected Types
Name |
Description |
Proxy that yields a pointer from a copied reference. |
|
Proxy that yields a reference from a copied iterator. |
Protected Member Functions
Name |
Description |
|
Constructors |
Return the wrapped underlying iterator. |
Protected Data Members
Name |
Description |
Wrapped underlying iterator. |
Friends
Name |
Description |
Compare two adapted iterators for order. |
|
Return true if |
Non-Member Functions
Name |
Description |
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
Derived Classes
Name |
Description |
An Iterator for call edges, creates AACallEdges attributes in a lazy way. |
|
Iterator over hash records producing symbol record offsets. Abstracts away the fact that symbol record offsets on disk are off‐by‐one. |
|
Generic iterator that wraps a T::TreeTy::iterator and exposes iterator::getValue() on dereference. |
|
MCRegUnitIterator enumerates a list of register units for Reg. |
|
MCSubRegIterator enumerates all sub‐registers of Reg. If IncludeSelf is set, Reg itself is included in the list. |
|
MCSuperRegIterator enumerates all super‐registers of Reg. If IncludeSelf is set, Reg itself is included in the list. |
|
Adapter that yields StringRef keys from a StringMap iterator. |
|
Successor iterator that carries the enclosing loop for edge filtering. |
|
Iterator over binding‐call instructions that create resources. |
|
An iterator over specifically call edges. |
|
The const version of |
|
Forward iterator over the symbols in a SymbolSet. |
|
Const forward iterator over the DIE values in the list. |
|
Const iterator for directly iterating over the operand Values. |
|
A pseudo‐iterator adaptor that is designed to implement "early increment" style loops. |
|
An iterator adaptor that filters the elements of given inner iterators. |
|
An iterator used for the edges to both entry nodes and child nodes. |
|
Iterator adapter that applies a function when dereferenced. |
|
Base class for mapped iterators without stored function objects. |
|
An iterator type that allows iterating over the pointees via some other iterator. |
|
An iterator adaptor that yields pointers to the wrapped iterator's elements. |
|
Iterator type that casts an operand to a basic block. |
|
Mutable forward iterator over the DIE values in the list. |
|
Iterator for directly iterating over the operand Values. |
|
Iterator for directly iterating over the operand SDValue's. |
Created with MrDocs