7 #ifndef ID_ITERATOR_HPP_ 8 #define ID_ITERATOR_HPP_ 9 #include "boost/iterator/iterator_facade.hpp" 10 #include "boost/range.hpp" 17 :
public boost::iterator_facade<
18 Id_iterator<Id>, Id, boost::forward_traversal_tag, Id
21 friend class boost::iterator_core_access;
29 Id dereference()
const {
return id_;}
30 void increment() {++id_.val_;}
31 bool equal(self_type
const& i)
const {
return i.id_ == id_;}
32 typename self_type::difference_type distance_to(self_type
const& i)
const {
33 return id_() - i.id_();
39 template<
class Id>
inline boost::iterator_range<Id_iterator<Id> >
40 id_range(
const Id id1,
const Id id2) {
42 return boost::iterator_range<Id_iterator<Id> >(iter_t(id1), iter_t(id2));
Main namespace of vdj_pipe library.
Definition: sequence_file.hpp:14
Definition: id_iterator.hpp:16