Static Value-Flow Analysis
Loading...
Searching...
No Matches
SVF::iter_facade_base< DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >::ReferenceProxy Class Reference

#include <iterator.h>

Public Member Functions

 operator ReferenceT () const

Private Member Functions

 ReferenceProxy (DerivedT I)

Private Attributes

friend iter_facade_base
DerivedT I

Detailed Description

template<typename DerivedT, typename IteratorCategoryT, typename T, typename DifferenceTypeT = std::ptrdiff_t, typename PointerT = T *, typename ReferenceT = T &>
class SVF::iter_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 90 of file iterator.h.

Constructor & Destructor Documentation

◆ ReferenceProxy()

template<typename DerivedT, typename IteratorCategoryT, typename T, typename DifferenceTypeT = std::ptrdiff_t, typename PointerT = T *, typename ReferenceT = T &>
SVF::iter_facade_base< DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >::ReferenceProxy::ReferenceProxy ( DerivedT I)
inlineprivate

Definition at line 96 of file iterator.h.

Member Function Documentation

◆ operator ReferenceT()

template<typename DerivedT, typename IteratorCategoryT, typename T, typename DifferenceTypeT = std::ptrdiff_t, typename PointerT = T *, typename ReferenceT = T &>
SVF::iter_facade_base< DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >::ReferenceProxy::operator ReferenceT ( ) const
inline

Definition at line 99 of file iterator.h.

100 {
101 return *I;
102 }

Member Data Documentation

◆ I

template<typename DerivedT, typename IteratorCategoryT, typename T, typename DifferenceTypeT = std::ptrdiff_t, typename PointerT = T *, typename ReferenceT = T &>
DerivedT SVF::iter_facade_base< DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >::ReferenceProxy::I
private

Definition at line 94 of file iterator.h.

◆ iter_facade_base

template<typename DerivedT, typename IteratorCategoryT, typename T, typename DifferenceTypeT = std::ptrdiff_t, typename PointerT = T *, typename ReferenceT = T &>
friend SVF::iter_facade_base< DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >::ReferenceProxy::iter_facade_base
private

Definition at line 92 of file iterator.h.


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