11#ifndef PERMUTAHEDRAL_REPRESENTATION_ORDERED_SET_PARTITION_ITERATOR_H_
12#define PERMUTAHEDRAL_REPRESENTATION_ORDERED_SET_PARTITION_ITERATOR_H_
17#include <gudhi/Permutahedral_representation/Permutation_iterator.h>
18#include <gudhi/Permutahedral_representation/Set_partition_iterator.h>
20#include <boost/range/iterator_range.hpp>
24namespace coxeter_triangulation {
39 const std::vector<uint> operator[](
const uint& i)
const {
return (*s_it_)[(*p_it_)[i]]; }
41 std::size_t size()
const {
return s_it_->size(); }
48 :
public boost::iterator_facade<Ordered_set_partition_iterator, Ordered_set_partition const,
49 boost::forward_traversal_tag> {
53 friend class boost::iterator_core_access;
57 value_t const& dereference()
const {
return value_; }
60 if (++value_.p_it_ == p_end_) {
61 if (++value_.s_it_ == s_end_) {
65 value_.p_it_.reinitialize();
78 value_.p_it_.reinitialize();
79 value_.s_it_.reinitialize();
Class that allows the user to generate set partitions of a set {0,...,n-1} in k parts.
Definition: Ordered_set_partition_iterator.h:49
Class that allows the user to generate permutations. Based on the optimization of the Heap's algorith...
Definition: Permutation_iterator.h:29
Class that allows the user to generate set partitions of a set {0,...,n-1} in k parts.
Definition: Set_partition_iterator.h:29
Gudhi namespace.
Definition: SimplicialComplexForAlpha.h:14
Class that represents an ordered set partition of a set {0,...,n-1} in k parts as a pair of an unorde...
Definition: Ordered_set_partition_iterator.h:32