LLVM  6.0.0svn
Classes | Namespaces | Functions
iterator.h File Reference
#include "llvm/ADT/iterator_range.h"
#include <algorithm>
#include <cstddef>
#include <iterator>
#include <type_traits>
#include <utility>
Include dependency graph for iterator.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::iterator_facade_base< DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >
 CRTP base class which implements the entire standard iterator facade in terms of a minimal subset of the interface. More...
 
class  llvm::iterator_facade_base< DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >::ReferenceProxy
 A proxy object for computing a reference via indirecting a copy of an iterator. More...
 
class  llvm::iterator_adaptor_base< DerivedT, WrappedIteratorT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT, WrappedTraitsT >
 CRTP base class for adapting an iterator to a different type. More...
 
struct  llvm::pointee_iterator< WrappedIteratorT, T >
 An iterator type that allows iterating over the pointees via some other iterator. More...
 
class  llvm::pointer_iterator< WrappedIteratorT, T >
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Functions

template<typename RangeT , typename WrappedIteratorT = decltype(std::begin(std::declval<RangeT>()))>
iterator_range< pointee_iterator< WrappedIteratorT > > llvm::make_pointee_range (RangeT &&Range)
 
template<typename RangeT , typename WrappedIteratorT = decltype(std::begin(std::declval<RangeT>()))>
iterator_range< pointer_iterator< WrappedIteratorT > > llvm::make_pointer_range (RangeT &&Range)