LLVM: llvm::iterator_facade_base< DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >::ReferenceProxy Class Reference (original) (raw)

A proxy object for computing a reference via indirecting a copy of an iterator. More...

template<typename DerivedT, typename IteratorCategoryT, typename T, typename DifferenceTypeT = std::ptrdiff_t, typename PointerT = T *, typename ReferenceT = T &>
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.

This is used in APIs which need to produce a reference via indirection but for which the iterator object might be a temporary. The proxy preserves the iterator internally and exposes the indirected reference via a conversion operator.

Definition at line 101 of file iterator.h.