4.6.0
Freundlich's C++ toolkit
Loading...
Searching...
No Matches
fcppt::iterator Namespace Reference

Classes

class  base
 A template for implementing iterators. More...
 
struct  is_types
 
struct  is_types< fcppt::iterator::types< Derived, ValueType, Reference, DifferenceType, IteratorCategory > >
 
class  range
 A range formed from two iterators. More...
 
struct  types
 The types passed to fcppt::iterator::base. More...
 

Typedefs

template<typename Category , typename CategoryRef >
using category_at_least = std::is_base_of<CategoryRef, Category>
 Checks if an iterator category includes another.
 
template<typename Derived , typename Adapted >
using types_from
 

Functions

template<typename Types >
void swap (fcppt::iterator::base< Types > &, fcppt::iterator::base< Types > &) noexcept
 
template<typename Types >
fcppt::iterator::base< Types >::derived operator+ (typename fcppt::iterator::base< Types >::difference_type, fcppt::iterator::base< Types > const &)
 
template<typename Types >
bool operator< (fcppt::iterator::base< Types > const &, fcppt::iterator::base< Types > const &)
 
template<typename Types >
bool operator> (fcppt::iterator::base< Types > const &, fcppt::iterator::base< Types > const &)
 
template<typename Types >
bool operator<= (fcppt::iterator::base< Types > const &, fcppt::iterator::base< Types > const &)
 
template<typename Types >
bool operator>= (fcppt::iterator::base< Types > const &, fcppt::iterator::base< Types > const &)
 
template<typename Iterator1 , typename Iterator2 >
requires (std::is_same_v<std::remove_cvref_t<Iterator1>, std::remove_cvref_t<Iterator2>>)
fcppt::iterator::range< std::remove_cvref_t< Iterator1 > > make_range (Iterator1 &&_begin, Iterator2 &&_end)
 Makes an iterator range.
 
template<typename Iterator >
bool operator== (fcppt::iterator::range< Iterator > const &_left, fcppt::iterator::range< Iterator > const &_right)
 
template<typename Iterator >
bool operator!= (fcppt::iterator::range< Iterator > const &_left, fcppt::iterator::range< Iterator > const &_right)
 

Typedef Documentation

◆ types_from

template<typename Derived , typename Adapted >
using fcppt::iterator::types_from
Initial value:
Derived,
typename std::iterator_traits<Adapted>::value_type,
typename std::iterator_traits<Adapted>::reference,
typename std::iterator_traits<Adapted>::difference_type,
typename std::iterator_traits<Adapted>::iterator_category>

Function Documentation

◆ operator!=()

template<typename Iterator >
bool fcppt::iterator::operator!= ( fcppt::iterator::range< Iterator > const & _left,
fcppt::iterator::range< Iterator > const & _right )
inline

◆ operator+()

template<typename Types >
fcppt::iterator::base< Types >::derived fcppt::iterator::operator+ ( typename fcppt::iterator::base< Types >::difference_type ,
fcppt::iterator::base< Types > const &  )

◆ operator<()

template<typename Types >
bool fcppt::iterator::operator< ( fcppt::iterator::base< Types > const & ,
fcppt::iterator::base< Types > const &  )

◆ operator<=()

template<typename Types >
bool fcppt::iterator::operator<= ( fcppt::iterator::base< Types > const & ,
fcppt::iterator::base< Types > const &  )

◆ operator==()

template<typename Iterator >
bool fcppt::iterator::operator== ( fcppt::iterator::range< Iterator > const & _left,
fcppt::iterator::range< Iterator > const & _right )
inline

◆ operator>()

template<typename Types >
bool fcppt::iterator::operator> ( fcppt::iterator::base< Types > const & ,
fcppt::iterator::base< Types > const &  )

◆ operator>=()

template<typename Types >
bool fcppt::iterator::operator>= ( fcppt::iterator::base< Types > const & ,
fcppt::iterator::base< Types > const &  )

◆ swap()

template<typename Types >
void fcppt::iterator::swap ( fcppt::iterator::base< Types > & ,
fcppt::iterator::base< Types > &  )
noexcept