DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
IntegerSequenceIterator.h
1
16
17
#pragma once
18
30
31
#if defined(IntegerSequenceIterator_RECURSES)
32
#error Recursive header files inclusion detected in IntegerSequenceIterator.h
33
#else
// defined(IntegerSequenceIterator_RECURSES)
35
#define IntegerSequenceIterator_RECURSES
36
37
#if !defined IntegerSequenceIterator_h
39
#define IntegerSequenceIterator_h
40
42
// Inclusions
43
#include <iostream>
44
#include <boost/iterator/iterator_facade.hpp>
45
#include "DGtal/base/Common.h"
47
48
namespace
DGtal
49
{
50
52
// template class IntegerSequenceIterator
64
template
<
typename
TInteger>
65
class
IntegerSequenceIterator
66
:
public
boost::iterator_facade< IntegerSequenceIterator< TInteger >,
67
TInteger const,
68
boost::random_access_traversal_tag >
69
{
70
public
:
71
typedef
IntegerSequenceIterator<TInteger>
Self
;
72
typedef
TInteger
Integer
;
73
74
// ----------------------- Standard services ------------------------------
75
public
:
76
81
IntegerSequenceIterator
(
Integer
n =
Integer
( 0 ) ) :
myNumber
( n ) {}
82
86
~IntegerSequenceIterator
() =
default
;
87
92
IntegerSequenceIterator
(
const
IntegerSequenceIterator
& other ) =
default
;
93
98
IntegerSequenceIterator
(
IntegerSequenceIterator
&& other ) =
default
;
99
105
IntegerSequenceIterator
&
operator=
(
const
IntegerSequenceIterator
& other ) =
default
;
106
112
IntegerSequenceIterator
&
operator=
(
IntegerSequenceIterator
&& other ) =
default
;
113
114
// ----------------------- Boost facade services --------------------------------------
115
private
:
116
friend
class
boost::iterator_core_access;
117
119
void
increment
() {
myNumber
++; }
121
void
decrement
() {
myNumber
--; }
124
void
advance
( std::ptrdiff_t n ) {
myNumber
+= n; }
127
std::ptrdiff_t
distance_to
(
IntegerSequenceIterator
const
& other )
128
{
return
other.
myNumber
-
myNumber
; }
129
131
bool
equal
(
IntegerSequenceIterator
const
& other)
const
132
{
return
this->
myNumber
== other.
myNumber
; }
133
135
Integer
const
&
dereference
()
const
{
return
myNumber
; }
136
137
// ----------------------- Interface --------------------------------------
138
public
:
139
140
// ------------------------- Protected Data ------------------------------
141
protected
:
143
Integer
myNumber
;
144
145
// ------------------------- Private Data --------------------------------
146
private
:
147
148
// ------------------------- Hidden services ------------------------------
149
protected
:
150
151
// ------------------------- Internals ------------------------------------
152
private
:
153
154
};
// end of class IntegerSequenceIterator
155
156
}
// namespace DGtal
157
158
160
// //
162
163
#endif
// !defined IntegerSequenceIterator_h
164
165
#undef IntegerSequenceIterator_RECURSES
166
#endif
// else defined(IntegerSequenceIterator_RECURSES)
DGtal::IntegerSequenceIterator::Integer
TInteger Integer
Definition
IntegerSequenceIterator.h:72
DGtal::IntegerSequenceIterator::increment
void increment()
Increments the iterator. Required by boost::iterator_facade.
Definition
IntegerSequenceIterator.h:119
DGtal::IntegerSequenceIterator::~IntegerSequenceIterator
~IntegerSequenceIterator()=default
DGtal::IntegerSequenceIterator::advance
void advance(std::ptrdiff_t n)
Definition
IntegerSequenceIterator.h:124
DGtal::IntegerSequenceIterator::IntegerSequenceIterator
IntegerSequenceIterator(Integer n=Integer(0))
Definition
IntegerSequenceIterator.h:81
DGtal::IntegerSequenceIterator::dereference
Integer const & dereference() const
Definition
IntegerSequenceIterator.h:135
DGtal::IntegerSequenceIterator::operator=
IntegerSequenceIterator & operator=(const IntegerSequenceIterator &other)=default
DGtal::IntegerSequenceIterator::equal
bool equal(IntegerSequenceIterator const &other) const
Definition
IntegerSequenceIterator.h:131
DGtal::IntegerSequenceIterator< VertexIndex >::myNumber
Integer myNumber
Definition
IntegerSequenceIterator.h:143
DGtal::IntegerSequenceIterator::distance_to
std::ptrdiff_t distance_to(IntegerSequenceIterator const &other)
Definition
IntegerSequenceIterator.h:127
DGtal::IntegerSequenceIterator::IntegerSequenceIterator
IntegerSequenceIterator(const IntegerSequenceIterator &other)=default
DGtal::IntegerSequenceIterator::decrement
void decrement()
Decrements the iterator. Required by boost::iterator_facade.
Definition
IntegerSequenceIterator.h:121
DGtal::IntegerSequenceIterator::IntegerSequenceIterator
IntegerSequenceIterator(IntegerSequenceIterator &&other)=default
DGtal::IntegerSequenceIterator::Self
IntegerSequenceIterator< TInteger > Self
Definition
IntegerSequenceIterator.h:71
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
src
DGtal
base
IntegerSequenceIterator.h
Generated on
for DGtal by
1.18.0