.. _cpp-util/iterators: ********************************************************** iterators.hpp ********************************************************** Full path: util/iterators.hpp .. default-domain:: cpp .. default-role:: cpp:expr .. cpp:namespace:: perm_group This file contains convenience class templates for implementtors for constructing read-only ranges of permutations. .. class:: template<typename Container, typename Perm>\ 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`. .. function:: PtrContainerToPermProxy(const Container *g) .. function:: 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. .. class:: template<typename Container, typename Perm>\ 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`. .. function:: PtrContainerToPtrProxy(const Container *g) .. function:: 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.