LLVM API Documentation

Public Member Functions
llvm::pointee_iterator< WrappedIteratorT, T > Struct Template Reference

An iterator type that allows iterating over the pointees via some other iterator. More...

#include <iterator.h>

Inheritance diagram for llvm::pointee_iterator< WrappedIteratorT, T >:
Inheritance graph
[legend]
Collaboration diagram for llvm::pointee_iterator< WrappedIteratorT, T >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 pointee_iterator ()
template<typename U >
 pointee_iterator (U &&u)
Toperator* () const

Detailed Description

template<typename WrappedIteratorT, typename T = typename std::remove_reference< decltype(**std::declval<WrappedIteratorT>())>::type>
struct llvm::pointee_iterator< WrappedIteratorT, T >

An iterator type that allows iterating over the pointees via some other iterator.

The typical usage of this is to expose a type that iterates over Ts, but which is implemented with some iterator over T*s:

   typedef pointee_iterator<SmallVectorImpl<T *>::iterator> iterator;

Definition at line 229 of file iterator.h.


Constructor & Destructor Documentation

template<typename WrappedIteratorT , typename T = typename std::remove_reference< decltype(**std::declval<WrappedIteratorT>())>::type>
llvm::pointee_iterator< WrappedIteratorT, T >::pointee_iterator ( ) [inline]

Definition at line 234 of file iterator.h.

template<typename WrappedIteratorT , typename T = typename std::remove_reference< decltype(**std::declval<WrappedIteratorT>())>::type>
template<typename U >
llvm::pointee_iterator< WrappedIteratorT, T >::pointee_iterator ( U &&  u) [inline]

Definition at line 236 of file iterator.h.


Member Function Documentation

template<typename WrappedIteratorT , typename T = typename std::remove_reference< decltype(**std::declval<WrappedIteratorT>())>::type>
T& llvm::pointee_iterator< WrappedIteratorT, T >::operator* ( ) const [inline]

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