KSS Utility
C++ general utilities
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
iterator.hpp File Reference

Base classes to easily generate custom iterators. More...

#include <algorithm>
#include <cstddef>
#include <iterator>
#include <memory>
#include <utility>
#include "add_rel_ops.hpp"
#include "utility.hpp"

Go to the source code of this file.

Classes

class  kss::util::iterators::ForwardIterator< Container, T >
 Base implementation of a forward iterator. More...
 
class  kss::util::iterators::RandomAccessIterator< Container >
 Base implementation of a random access iterator. More...
 
class  kss::util::iterators::ConstRandomAccessIterator< Container >
 Base implementation of a const version of a random access iterator. More...
 
class  kss::util::iterators::CopyRandomAccessIterator< Container >
 Base implementation of a random access iterator that generate elements as needed. More...
 

Namespaces

 kss
 All Klassen Software Solutions libraries begin with this namespace.
 
 kss::util
 General utility methods that don't fit into any of the other categories.
 
 kss::util::iterators
 Classes used to help build custom iterators.
 
 std
 

Functions

template<typename Container >
RandomAccessIterator< Container > kss::util::iterators::operator+ (typename Container::difference_type n, const RandomAccessIterator< Container > &c) noexcept
 
template<typename Container >
ConstRandomAccessIterator
< Container > 
kss::util::iterators::operator+ (typename Container::difference_type n, const ConstRandomAccessIterator< Container > &c) noexcept
 
template<typename Container >
CopyRandomAccessIterator
< Container > 
kss::util::iterators::operator+ (typename Container::difference_type n, const CopyRandomAccessIterator< Container > &c) noexcept
 
template<typename Container , typename T >
void std::swap (kss::util::iterators::ForwardIterator< Container, T > &a, kss::util::iterators::ForwardIterator< Container, T > &b)
 
template<typename Container >
void std::swap (kss::util::iterators::RandomAccessIterator< Container > &a, kss::util::iterators::RandomAccessIterator< Container > &b)
 
template<typename Container >
void std::swap (kss::util::iterators::ConstRandomAccessIterator< Container > &a, kss::util::iterators::ConstRandomAccessIterator< Container > &b)
 
template<typename Container >
void std::swap (kss::util::iterators::CopyRandomAccessIterator< Container > &a, kss::util::iterators::CopyRandomAccessIterator< Container > &b)
 

Detailed Description

Base classes to easily generate custom iterators.

Definition in file iterator.hpp.