summaryrefslogtreecommitdiff
path: root/include/gudhi/Skeleton_blocker/iterators/Skeleton_blockers_blockers_iterators.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/gudhi/Skeleton_blocker/iterators/Skeleton_blockers_blockers_iterators.h')
-rw-r--r--include/gudhi/Skeleton_blocker/iterators/Skeleton_blockers_blockers_iterators.h134
1 files changed, 0 insertions, 134 deletions
diff --git a/include/gudhi/Skeleton_blocker/iterators/Skeleton_blockers_blockers_iterators.h b/include/gudhi/Skeleton_blocker/iterators/Skeleton_blockers_blockers_iterators.h
deleted file mode 100644
index 95c5f7ef..00000000
--- a/include/gudhi/Skeleton_blocker/iterators/Skeleton_blockers_blockers_iterators.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): David Salinas
- *
- * Copyright (C) 2014 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef SKELETON_BLOCKER_ITERATORS_SKELETON_BLOCKERS_BLOCKERS_ITERATORS_H_
-#define SKELETON_BLOCKER_ITERATORS_SKELETON_BLOCKERS_BLOCKERS_ITERATORS_H_
-
-#include <boost/iterator/iterator_facade.hpp>
-
-namespace Gudhi {
-
-namespace skeleton_blocker {
-
-/**
- * @brief Iterator through the blockers of a vertex.
- */
-// ReturnType = const Simplex* or Simplex*
-// MapIteratorType = BlockerMapConstIterator or BlockerMapIterator
-
-template<typename MapIteratorType, typename ReturnType>
-class Blocker_iterator_internal : public boost::iterator_facade<
-Blocker_iterator_internal<MapIteratorType, ReturnType>,
-ReturnType,
-boost::forward_traversal_tag,
-ReturnType
-> {
- private:
- MapIteratorType current_position;
- MapIteratorType end_of_map;
-
- public:
- Blocker_iterator_internal() : current_position() { }
-
- Blocker_iterator_internal(MapIteratorType position, MapIteratorType end_of_map_) :
- current_position(position), end_of_map(end_of_map_) { }
-
- bool equal(const Blocker_iterator_internal& other) const {
- return current_position == other.current_position;
- }
-
- void increment() {
- goto_next_blocker();
- }
-
- ReturnType dereference() const {
- return (current_position->second);
- }
-
- private:
- /**
- * Let the current pair be (v,sigma) where v is a vertex and sigma is a blocker.
- * If v is not the first vertex of sigma then we already have seen sigma as a blocker
- * and we look for the next one.
- */
- void goto_next_blocker() {
- do {
- ++current_position;
- } while (!(current_position == end_of_map) && !first_time_blocker_is_seen());
- }
-
- bool first_time_blocker_is_seen() const {
- return current_position->first == current_position->second->first_vertex();
- }
-};
-
-/**
- * @brief Iterator through the blockers of a vertex
- */
-// ReturnType = const Simplex* or Simplex*
-// MapIteratorType = BlockerMapConstIterator or BlockerMapIterator
-
-template<typename MapIteratorType, typename ReturnType>
-class Blocker_iterator_around_vertex_internal : public boost::iterator_facade<
-Blocker_iterator_around_vertex_internal<MapIteratorType, ReturnType>,
-ReturnType,
-boost::forward_traversal_tag,
-ReturnType
-> {
- private:
- MapIteratorType current_position_;
-
- public:
- Blocker_iterator_around_vertex_internal() : current_position_() { }
-
- Blocker_iterator_around_vertex_internal(MapIteratorType position) :
- current_position_(position) { }
-
- Blocker_iterator_around_vertex_internal& operator=(Blocker_iterator_around_vertex_internal other) {
- this->current_position_ = other.current_position_;
- return *this;
- }
-
- bool equal(const Blocker_iterator_around_vertex_internal& other) const {
- return current_position_ == other.current_position_;
- }
-
- void increment() {
- current_position_++;
- }
-
- ReturnType dereference() const {
- return (current_position_->second);
- }
-
- MapIteratorType current_position() {
- return this->current_position_;
- }
-};
-
-} // namespace skeleton_blocker
-
-namespace skbl = skeleton_blocker;
-
-} // namespace Gudhi
-
-#endif // SKELETON_BLOCKER_ITERATORS_SKELETON_BLOCKERS_BLOCKERS_ITERATORS_H_