WPILibC++ 2024.3.2
iterator.h File Reference
#include "wpi/iterator_range.h"
#include <cstddef>
#include <iterator>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

class  wpi::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  wpi::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  wpi::iterator_facade_base< DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >::PointerProxy
 A proxy object for computing a pointer via indirecting a copy of a reference. More...
 
class  wpi::iterator_adaptor_base< DerivedT, WrappedIteratorT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >
 CRTP base class for adapting an iterator to a different type. More...
 
struct  wpi::pointee_iterator< WrappedIteratorT, T >
 An iterator type that allows iterating over the pointees via some other iterator. More...
 
class  wpi::pointer_iterator< WrappedIteratorT, T >
 

Namespaces

namespace  wpi
 

Functions

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