22 #ifndef GUDHI_SKELETON_BLOCKERS_BLOCKERS_ITERATORS_H_
23 #define GUDHI_SKELETON_BLOCKERS_BLOCKERS_ITERATORS_H_
25 #include "boost/iterator/iterator_facade.hpp"
36 template<
typename MapIteratorType,
typename ReturnType>
38 Blocker_iterator_internal<MapIteratorType,ReturnType>,
40 boost::forward_traversal_tag,
44 MapIteratorType current_position;
45 MapIteratorType end_of_map;
51 current_position(position), end_of_map(end_of_map_)
55 return current_position == other.current_position;
62 ReturnType dereference()
const {
63 return(current_position->second);
72 void goto_next_blocker(){
75 }
while (!(current_position == end_of_map) && !first_time_blocker_is_seen());
78 bool first_time_blocker_is_seen()
const{
79 return current_position->first == current_position->second->first_vertex();
90 template<
typename MapIteratorType,
typename ReturnType>
92 Blocker_iterator_around_vertex_internal<MapIteratorType,ReturnType>,
94 boost::forward_traversal_tag,
98 MapIteratorType current_position_;
104 current_position_(position)
108 this->current_position_ = other.current_position_;
113 return current_position_ == other.current_position_;
120 ReturnType dereference()
const{
121 return(current_position_->second);
125 MapIteratorType current_position(){
126 return this->current_position_;
Iterator through the blockers of a vertex.
Definition: Skeleton_blockers_blockers_iterators.h:37
Iterator through the blockers of a vertex.
Definition: Skeleton_blockers_blockers_iterators.h:91