Static Value-Flow Analysis
Loading...
Searching...
No Matches
SVF::pointee_iter< WrappedIteratorT, T > Struct Template Reference

#include <iterator.h>

Inheritance diagram for SVF::pointee_iter< WrappedIteratorT, T >:
SVF::iter_adaptor_base< DerivedT, WrappedIteratorT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT > SVF::iter_facade_base< DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >

Public Member Functions

 pointee_iter ()=default
template<typename U>
 pointee_iter (U &&u)
T & operator* () const
Public Member Functions inherited from SVF::iter_adaptor_base< DerivedT, WrappedIteratorT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >
DerivedT & operator+= (difference_type n)
DerivedT & operator-= (difference_type n)
difference_type operator- (const DerivedT &RHS) const
DerivedT & operator++ ()
DerivedT & operator-- ()
ReferenceT operator* () const
Public Member Functions inherited from SVF::iter_facade_base< DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >
DerivedT operator+ (DifferenceTypeT n) const
DerivedT operator- (DifferenceTypeT n) const
DerivedT & operator++ ()
DerivedT operator++ (int)
DerivedT & operator-- ()
DerivedT operator-- (int)
bool operator!= (const DerivedT &RHS) const
bool operator> (const DerivedT &RHS) const
bool operator<= (const DerivedT &RHS) const
bool operator>= (const DerivedT &RHS) const
PointerT operator-> ()
PointerT operator-> () const
ReferenceProxy operator[] (DifferenceTypeT n)
ReferenceProxy operator[] (DifferenceTypeT n) const

Additional Inherited Members

Public Types inherited from SVF::iter_adaptor_base< DerivedT, WrappedIteratorT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >
using difference_type = DifferenceTypeT
Public Types inherited from SVF::iter_facade_base< DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >
using iterator_category = IteratorCategoryT
using value_type = T
using difference_type = DifferenceTypeT
using pointer = PointerT
using reference = ReferenceT
Protected Types inherited from SVF::iter_facade_base< DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >
enum  { IsRandomAccess , IsBidirectional }
Protected Member Functions inherited from SVF::iter_adaptor_base< DerivedT, WrappedIteratorT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >
 iter_adaptor_base ()=default
 iter_adaptor_base (WrappedIteratorT u)
const WrappedIteratorT & wrapped () const
Protected Attributes inherited from SVF::iter_adaptor_base< DerivedT, WrappedIteratorT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >
WrappedIteratorT I

Detailed Description

template<typename WrappedIteratorT, typename T = std::remove_reference_t<decltype( **std::declval<WrappedIteratorT>())>>
struct SVF::pointee_iter< 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:

Definition at line 335 of file iterator.h.

Constructor & Destructor Documentation

◆ pointee_iter() [1/2]

template<typename WrappedIteratorT, typename T = std::remove_reference_t<decltype( **std::declval<WrappedIteratorT>())>>
SVF::pointee_iter< WrappedIteratorT, T >::pointee_iter ( )
default

◆ pointee_iter() [2/2]

template<typename WrappedIteratorT, typename T = std::remove_reference_t<decltype( **std::declval<WrappedIteratorT>())>>
template<typename U>
SVF::pointee_iter< WrappedIteratorT, T >::pointee_iter ( U && u)
inline

Member Function Documentation

◆ operator*()

template<typename WrappedIteratorT, typename T = std::remove_reference_t<decltype( **std::declval<WrappedIteratorT>())>>
T & SVF::pointee_iter< WrappedIteratorT, T >::operator* ( ) const
inline

Definition at line 346 of file iterator.h.

347 {
348 return **this->I;
349 }
WrappedIteratorT I
Definition iterator.h:242

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