struct powerset_iterator : public boost::iterator_facade<powerset_iterator<Iterator>, const std::vector<Iterator>,
boost::forward_traversal_tag> {
powerset_iterator() = default;
- powerset_iterator(powerset_iterator<Iterator>&) noexcept = default;
- powerset_iterator(powerset_iterator<Iterator>&&) noexcept = default;
- powerset_iterator<Iterator>& operator=(powerset_iterator<Iterator>&&) noexcept = default;
- powerset_iterator<Iterator>& operator=(const powerset_iterator<Iterator>&) noexcept = default;
explicit powerset_iterator(Iterator begin, Iterator end = Iterator());
private: