summaryrefslogtreecommitdiff
path: root/src/Witness_complex/include/gudhi/Active_witness/Active_witness_iterator.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Witness_complex/include/gudhi/Active_witness/Active_witness_iterator.h')
-rw-r--r--src/Witness_complex/include/gudhi/Active_witness/Active_witness_iterator.h41
1 files changed, 18 insertions, 23 deletions
diff --git a/src/Witness_complex/include/gudhi/Active_witness/Active_witness_iterator.h b/src/Witness_complex/include/gudhi/Active_witness/Active_witness_iterator.h
index 69a335fa..4e29a40d 100644
--- a/src/Witness_complex/include/gudhi/Active_witness/Active_witness_iterator.h
+++ b/src/Witness_complex/include/gudhi/Active_witness/Active_witness_iterator.h
@@ -24,7 +24,7 @@
#define ACTIVE_WITNESS_ACTIVE_WITNESS_ITERATOR_H_
#include <boost/iterator/iterator_facade.hpp>
-#include <vector>
+#include <list>
namespace Gudhi {
@@ -41,30 +41,29 @@ template< typename Active_witness,
typename Id_distance_pair,
typename INS_iterator >
class Active_witness_iterator
- : public boost::iterator_facade< Active_witness_iterator <Active_witness, Id_distance_pair, INS_iterator>
-, Id_distance_pair const
-, boost::forward_traversal_tag
-, Id_distance_pair const> {
+ : public boost::iterator_facade< Active_witness_iterator <Active_witness, Id_distance_pair, INS_iterator>,
+ Id_distance_pair const,
+ boost::forward_traversal_tag,
+ Id_distance_pair const> {
friend class boost::iterator_core_access;
-
+
//typedef Active_witness<Id_distance_pair, INS_iterator> Active_witness;
typedef typename std::list<Id_distance_pair>::iterator Pair_iterator;
- typedef typename Gudhi::witness_complex::Active_witness_iterator<Active_witness, Id_distance_pair, INS_iterator> Iterator;
-
-
+ typedef typename Gudhi::witness_complex::Active_witness_iterator<Active_witness,
+ Id_distance_pair,
+ INS_iterator> Iterator;
+
Active_witness *aw_;
Pair_iterator lh_; // landmark handle
bool is_end_; // true only if the pointer is end and there are no more neighbors to add
-public:
+ public:
Active_witness_iterator(Active_witness* aw)
- : aw_(aw), lh_(aw_->nearest_landmark_table_.end()), is_end_(true)
- {
+ : aw_(aw), lh_(aw_->nearest_landmark_table_.end()), is_end_(true) {
}
Active_witness_iterator(Active_witness* aw, const Pair_iterator& lh)
- : aw_(aw), lh_(lh)
- {
+ : aw_(aw), lh_(lh) {
is_end_ = false;
if (lh_ == aw_->nearest_landmark_table_.end()) {
if (aw_->iterator_next_ == aw_->iterator_end_) {
@@ -76,21 +75,17 @@ public:
}
}
}
-
-private :
- Id_distance_pair& dereference() const
- {
+ private :
+ Id_distance_pair& dereference() const {
return *lh_;
}
- bool equal(const Iterator& other) const
- {
+ bool equal(const Iterator& other) const {
return (is_end_ == other.is_end_) || (lh_ == other.lh_);
}
-
- void increment()
- {
+
+ void increment() {
// the neighbor search can't be at the end iterator of a list
GUDHI_CHECK(!is_end_ && lh_ != aw_->nearest_landmark_table_.end(), std::logic_error("Wrong active witness increment."));
// if the id of the current landmark is the same as the last one