3.7.1. iterators.hpp

Full path: util/iterators.hpp

This file contains convenience class templates for implementtors for constructing read-only ranges of permutations.

template<typename Container, typename Perm>
class PtrContainerToPermProxy

A view of a given container of pointers to permutations, exposing it as a range of constant permutations.

type iterator

An adaptor of Container::const_iterator. It has const Perm& as iterator::value_type.

PtrContainerToPermProxy(const Container *g)
typename Container::size_type size() const
iterator begin() const
iterator end() const
const Perm &operator[](std::size_t i) const

Calls the corresponding methods on the underlying container.

template<typename Container, typename Perm>
class PtrContainerToPtrProxy

A view of a given container of pointers to permutations, exposing it as a range of ConstPointer.

type iterator

An adaptor of Container::const_iterator. It has ConstPointer as iterator::value_type.

PtrContainerToPtrProxy(const Container *g)
typename Container::size_type size() const
iterator begin() const
iterator end() const
const Perm &operator[](std::size_t i) const

Calls the corresponding methods on the underlying container.