DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
SetValueIterator.h
1
16
17
#pragma once
18
30
31
#if defined(SetValueIterator_RECURSES)
32
#error Recursive header files inclusion detected in SetValueIterator.h
33
#else
// defined(SetValueIterator_RECURSES)
35
#define SetValueIterator_RECURSES
36
37
#if !defined SetValueIterator_h
39
#define SetValueIterator_h
40
42
// Inclusions
43
#include "DGtal/base/Common.h"
44
#include "DGtal/kernel/domains/CDomain.h"
45
#include "DGtal/images/CTrivialImage.h"
46
47
#include <iostream>
48
50
51
namespace
DGtal
52
{
53
55
// template class SetValueIterator
65
template
<
typename
TImage,
typename
TIteratorOnPts
66
=
typename
TImage::Domain::ConstIterator>
67
class
SetValueIterator
68
{
69
// ----------------------- Types definitions ------------------------------
70
public
:
71
72
using
iterator_category
= std::output_iterator_tag;
73
using
value_type
= void;
74
using
difference_type
= void;
75
using
pointer
= void;
76
using
reference
= void;
77
78
typedef
TImage
Image
;
79
BOOST_CONCEPT_ASSERT
((
concepts::CTrivialImage<Image>
));
80
81
82
// ----------------------- Standard services ------------------------------
83
public
:
89
SetValueIterator
(
const
TIteratorOnPts& aItOnPts,
Image
&aImg)
90
:
myImg
(&aImg),
myItOnPts
(aItOnPts) {}
91
97
SetValueIterator
(
Image
&aImg)
98
:
myImg
(&aImg),
myItOnPts
(
myImg
->
domain
().begin()) {}
99
104
SetValueIterator
(
const
SetValueIterator
& other )
105
:
myImg
(other.
myImg
),
myItOnPts
(other.
myItOnPts
) {}
106
110
~SetValueIterator
() {}
111
112
// ----------------------- Interface --------------------------------------
113
public
:
114
120
SetValueIterator
&
operator=
(
const
typename
Image::Value
& aValue)
121
{
122
myImg
->setValue( *
myItOnPts
, aValue );
123
return
*
this
;
124
}
125
130
SetValueIterator
&
operator*
() {
return
*
this
; }
131
136
SetValueIterator
&
operator++
() { ++
myItOnPts
;
return
*
this
; }
137
142
SetValueIterator
operator++
(
int
)
143
{
144
SetValueIterator
tmp = *
this
;
145
++
myItOnPts
;
146
return
tmp;
147
}
148
149
150
// ------------------------- Private Data --------------------------------
151
private
:
152
153
// ------------------------- Hidden services ------------------------------
154
protected
:
155
156
157
private
:
158
159
160
// ------------------------- Internals ------------------------------------
161
private
:
162
166
Image
*
myImg
;
167
171
TIteratorOnPts
myItOnPts
;
172
173
};
// end of class SetValueIterator
174
175
}
177
// Includes inline functions.
178
//#include "DGtal/images/SetValueIterator.ih"
179
180
//
182
183
#endif
// !defined SetValueIterator_h
184
185
#undef SetValueIterator_RECURSES
186
#endif
// else defined(SetValueIterator_RECURSES)
DGtal::ImageContainerBySTLVector< Domain, Value >::Value
Value Value
Definition
ImageContainerBySTLVector.h:153
DGtal::SetValueIterator< TImage, typename Domain::ConstReverseIterator >::iterator_category
std::output_iterator_tag iterator_category
Definition
SetValueIterator.h:72
DGtal::SetValueIterator::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CTrivialImage< Image >))
DGtal::SetValueIterator::SetValueIterator
SetValueIterator(const SetValueIterator &other)
Definition
SetValueIterator.h:104
DGtal::SetValueIterator< TImage, typename Domain::ConstReverseIterator >::difference_type
void difference_type
Definition
SetValueIterator.h:74
DGtal::SetValueIterator::operator*
SetValueIterator & operator*()
Definition
SetValueIterator.h:130
DGtal::SetValueIterator< TImage, typename Domain::ConstReverseIterator >::pointer
void pointer
Definition
SetValueIterator.h:75
DGtal::SetValueIterator< TImage, typename Domain::ConstReverseIterator >::Image
TImage Image
Definition
SetValueIterator.h:78
DGtal::SetValueIterator< TImage, typename Domain::ConstReverseIterator >::reference
void reference
Definition
SetValueIterator.h:76
DGtal::SetValueIterator::~SetValueIterator
~SetValueIterator()
Definition
SetValueIterator.h:110
DGtal::SetValueIterator::SetValueIterator
SetValueIterator(const TIteratorOnPts &aItOnPts, Image &aImg)
Definition
SetValueIterator.h:89
DGtal::SetValueIterator::operator=
SetValueIterator & operator=(const typename Image::Value &aValue)
Definition
SetValueIterator.h:120
DGtal::SetValueIterator< TImage, typename Domain::ConstReverseIterator >::myItOnPts
typename Domain::ConstReverseIterator myItOnPts
Definition
SetValueIterator.h:171
DGtal::SetValueIterator< TImage, typename Domain::ConstReverseIterator >::myImg
Image * myImg
Definition
SetValueIterator.h:166
DGtal::SetValueIterator::operator++
SetValueIterator & operator++()
Definition
SetValueIterator.h:136
DGtal::SetValueIterator::SetValueIterator
SetValueIterator(Image &aImg)
Definition
SetValueIterator.h:97
DGtal::SetValueIterator< TImage, typename Domain::ConstReverseIterator >::value_type
void value_type
Definition
SetValueIterator.h:73
DGtal::SetValueIterator::operator++
SetValueIterator operator++(int)
Definition
SetValueIterator.h:142
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
DGtal::concepts::CTrivialImage
Aim: Defines the concept describing an image without extra ranges, which is a refinement of CTrivialC...
Definition
CTrivialImage.h:85
domain
Domain domain
Definition
testProjection.cpp:88
src
DGtal
images
SetValueIterator.h
Generated on
for DGtal by
1.18.0