DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
TiledImageBidirectionalRangeFromPoint.h
1
16
17
#pragma once
18
32
33
#if defined(TiledImageBidirectionalRangeFromPoint_RECURSES)
34
#error Recursive header files inclusion detected in TiledImageBidirectionalRangeFromPoint.h
35
#else
// defined(TiledImageBidirectionalRangeFromPoint_RECURSES)
37
#define TiledImageBidirectionalRangeFromPoint_RECURSES
38
39
#if !defined TiledImageBidirectionalRangeFromPoint_h
41
#define TiledImageBidirectionalRangeFromPoint_h
42
44
// Inclusions
45
#include "DGtal/base/BasicFunctors.h"
46
#include "DGtal/base/Circulator.h"
47
#include "DGtal/base/IteratorAdapter.h"
48
#include "DGtal/base/CBidirectionalRangeFromPoint.h"
49
#include "boost/concept_check.hpp"
50
#include "boost/iterator/reverse_iterator.hpp"
52
53
namespace
DGtal
54
{
55
56
58
// class TiledImageBidirectionalRangeFromPoint
60
70
template
<
typename
TTiledImage>
71
72
class
TiledImageBidirectionalRangeFromPoint
73
{
74
75
BOOST_CONCEPT_ASSERT
( (
boost::BidirectionalIterator<typename TTiledImage::OutputIterator>
) );
76
BOOST_CONCEPT_ASSERT
( (
boost::BidirectionalIterator<typename TTiledImage::ConstIterator>
) );
77
78
// ------------------------- inner types --------------------------------
79
80
public
:
81
82
typedef
TTiledImage
TiledImage
;
83
84
typedef
typename
TiledImage::Point
Point
;
85
86
typedef
typename
TiledImage::OutputIterator
Iterator
;
87
typedef
typename
TiledImage::ConstIterator
ConstIterator
;
88
89
typedef
boost::reverse_iterator<Iterator>
ReverseIterator
;
90
typedef
boost::reverse_iterator<ConstIterator>
ConstReverseIterator
;
91
92
typedef
typename
TiledImage::OutputIterator
OutputIterator
;
93
typedef
boost::reverse_iterator<Iterator>
ReverseOutputIterator
;
94
95
// typedef Circulator<Iterator> Circulator;
96
// typedef boost::reverse_iterator<Circulator> ReverseCirculator;
97
98
// ------------------------- standard services --------------------------------
99
104
TiledImageBidirectionalRangeFromPoint
(
const
TiledImage
*ti )
105
:
myti
( ti ) {}
106
111
TiledImageBidirectionalRangeFromPoint
(
const
TiledImageBidirectionalRangeFromPoint
& other )
112
:
myti
( other.
myti
) {}
113
119
TiledImageBidirectionalRangeFromPoint
&
operator=
(
const
TiledImageBidirectionalRangeFromPoint
& other )
120
{
121
if
(
this
!= &other )
122
{
123
myti
= other.
myti
;
124
}
125
126
return
*
this
;
127
}
128
132
~TiledImageBidirectionalRangeFromPoint
() {}
133
138
bool
isValid
()
const
139
{
140
return
true
;
141
}
142
143
// ------------------------- display --------------------------------
148
void
selfDisplay
( std::ostream & out )
const
149
{
150
typedef
typename
IteratorCirculatorTraits<Iterator>::Value
Value
;
151
out <<
"[TiledImageBidirectionalRangeFromPoint]"
<< std::endl;
152
out <<
"\t"
;
153
std::copy (
myti
->begin(),
myti
->end(), std::ostream_iterator<Value> ( out,
", "
) );
154
out << std::endl;
155
}
156
160
std::string
className
()
const
161
{
162
return
"TiledImageBidirectionalRangeFromPoint"
;
163
}
164
165
166
// ------------------------- private data --------------------------------
167
168
private
:
169
170
const
TTiledImage *
myti
;
171
172
// ------------------------- iterator services --------------------------------
173
174
public
:
175
180
Iterator
begin
()
181
{
182
return
Iterator
(
myti
->begin() );
183
}
184
190
Iterator
begin
(
const
Point
&
aPoint
)
191
{
192
return
Iterator
(
myti
->begin(
aPoint
) );
193
}
194
199
ConstIterator
begin
()
const
200
{
201
return
ConstIterator
(
myti
->begin() );
202
}
203
209
ConstIterator
begin
(
const
Point
&
aPoint
)
const
210
{
211
return
ConstIterator
(
myti
->begin(
aPoint
) );
212
}
213
218
Iterator
end
()
219
{
220
return
Iterator
(
myti
->end() );
221
}
222
227
ConstIterator
end
()
const
228
{
229
return
ConstIterator
(
myti
->end() );
230
}
231
236
OutputIterator
outputIterator
()
237
{
238
return
OutputIterator
(
myti
->begin() );
239
}
240
246
OutputIterator
outputIterator
(
const
Point
&
aPoint
)
247
{
248
return
OutputIterator
(
myti
->begin(
aPoint
) );
249
}
250
255
ReverseOutputIterator
routputIterator
()
256
{
257
return
ReverseOutputIterator
(
myti
->begin() );
258
}
259
265
ReverseOutputIterator
routputIterator
(
const
Point
&
aPoint
)
266
{
267
return
ReverseOutputIterator
(
myti
->begin(
aPoint
) );
268
}
269
274
ReverseIterator
rbegin
()
275
{
276
return
ReverseIterator
( this->
end
() );
277
}
278
284
ReverseIterator
rbegin
(
const
Point
&
aPoint
)
285
{
286
return
ReverseIterator
(
myti
->rbegin(
aPoint
) );
287
}
288
293
ReverseIterator
rend
()
294
{
295
return
ReverseIterator
( this->
begin
() );
296
}
297
302
ConstReverseIterator
rbegin
()
const
303
{
304
return
ConstReverseIterator
( this->
end
() );
305
}
306
312
ConstReverseIterator
rbegin
(
const
Point
&
aPoint
)
const
313
{
314
return
ConstReverseIterator
(
myti
->rbegin(
aPoint
) );
315
}
316
321
ConstReverseIterator
rend
()
const
322
{
323
return
ConstReverseIterator
( this->
begin
() );
324
}
325
326
// /**
327
// * Circulator service.
328
// * @return a circulator
329
// */
330
// Circulator c() const
331
// {
332
// return Circulator ( this->begin(), this->begin(), this->end() );
333
// }
334
335
// /**
336
// * Circulator service.
337
// * @return a reverse circulator
338
// */
339
// ReverseCirculator rc() const
340
// {
341
// return ReverseCirculator ( this->c() );
342
// }
343
344
};
//end class TiledImageBidirectionalRangeFromPoint
345
346
}
// namespace DGtal
347
349
350
351
#endif
// !defined TiledImageBidirectionalRangeFromPoint_h
352
353
#undef TiledImageBidirectionalRangeFromPoint_RECURSES
354
#endif
// else defined(TiledImageBidirectionalRangeFromPoint_RECURSES)
DGtal::ReverseIterator::ReverseIterator
ReverseIterator()
Definition
ReverseIterator.h:81
DGtal::TiledImageBidirectionalRangeFromPoint::TiledImage
TTiledImage TiledImage
Definition
TiledImageBidirectionalRangeFromPoint.h:82
DGtal::TiledImageBidirectionalRangeFromPoint::begin
Iterator begin()
Definition
TiledImageBidirectionalRangeFromPoint.h:180
DGtal::TiledImageBidirectionalRangeFromPoint::ReverseOutputIterator
boost::reverse_iterator< Iterator > ReverseOutputIterator
Definition
TiledImageBidirectionalRangeFromPoint.h:93
DGtal::TiledImageBidirectionalRangeFromPoint::TiledImageBidirectionalRangeFromPoint
TiledImageBidirectionalRangeFromPoint(const TiledImage *ti)
Definition
TiledImageBidirectionalRangeFromPoint.h:104
DGtal::TiledImageBidirectionalRangeFromPoint::Iterator
TiledImage::OutputIterator Iterator
Definition
TiledImageBidirectionalRangeFromPoint.h:86
DGtal::TiledImageBidirectionalRangeFromPoint::ReverseIterator
boost::reverse_iterator< Iterator > ReverseIterator
Definition
TiledImageBidirectionalRangeFromPoint.h:89
DGtal::TiledImageBidirectionalRangeFromPoint::rbegin
ConstReverseIterator rbegin() const
Definition
TiledImageBidirectionalRangeFromPoint.h:302
DGtal::TiledImageBidirectionalRangeFromPoint::isValid
bool isValid() const
Definition
TiledImageBidirectionalRangeFromPoint.h:138
DGtal::TiledImageBidirectionalRangeFromPoint::begin
Iterator begin(const Point &aPoint)
Definition
TiledImageBidirectionalRangeFromPoint.h:190
DGtal::TiledImageBidirectionalRangeFromPoint::outputIterator
OutputIterator outputIterator()
Definition
TiledImageBidirectionalRangeFromPoint.h:236
DGtal::TiledImageBidirectionalRangeFromPoint::end
Iterator end()
Definition
TiledImageBidirectionalRangeFromPoint.h:218
DGtal::TiledImageBidirectionalRangeFromPoint::Point
TiledImage::Point Point
Definition
TiledImageBidirectionalRangeFromPoint.h:84
DGtal::TiledImageBidirectionalRangeFromPoint::operator=
TiledImageBidirectionalRangeFromPoint & operator=(const TiledImageBidirectionalRangeFromPoint &other)
Definition
TiledImageBidirectionalRangeFromPoint.h:119
DGtal::TiledImageBidirectionalRangeFromPoint::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((boost::BidirectionalIterator< typename TTiledImage::OutputIterator >))
DGtal::TiledImageBidirectionalRangeFromPoint< TiledImage >::myti
const TiledImage * myti
Definition
TiledImageBidirectionalRangeFromPoint.h:170
DGtal::TiledImageBidirectionalRangeFromPoint::ConstReverseIterator
boost::reverse_iterator< ConstIterator > ConstReverseIterator
Definition
TiledImageBidirectionalRangeFromPoint.h:90
DGtal::TiledImageBidirectionalRangeFromPoint::rend
ReverseIterator rend()
Definition
TiledImageBidirectionalRangeFromPoint.h:293
DGtal::TiledImageBidirectionalRangeFromPoint::rbegin
ReverseIterator rbegin(const Point &aPoint)
Definition
TiledImageBidirectionalRangeFromPoint.h:284
DGtal::TiledImageBidirectionalRangeFromPoint::rbegin
ReverseIterator rbegin()
Definition
TiledImageBidirectionalRangeFromPoint.h:274
DGtal::TiledImageBidirectionalRangeFromPoint::outputIterator
OutputIterator outputIterator(const Point &aPoint)
Definition
TiledImageBidirectionalRangeFromPoint.h:246
DGtal::TiledImageBidirectionalRangeFromPoint::ConstIterator
TiledImage::ConstIterator ConstIterator
Definition
TiledImageBidirectionalRangeFromPoint.h:87
DGtal::TiledImageBidirectionalRangeFromPoint::selfDisplay
void selfDisplay(std::ostream &out) const
Definition
TiledImageBidirectionalRangeFromPoint.h:148
DGtal::TiledImageBidirectionalRangeFromPoint::begin
ConstIterator begin() const
Definition
TiledImageBidirectionalRangeFromPoint.h:199
DGtal::TiledImageBidirectionalRangeFromPoint::routputIterator
ReverseOutputIterator routputIterator()
Definition
TiledImageBidirectionalRangeFromPoint.h:255
DGtal::TiledImageBidirectionalRangeFromPoint::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((boost::BidirectionalIterator< typename TTiledImage::ConstIterator >))
DGtal::TiledImageBidirectionalRangeFromPoint::TiledImageBidirectionalRangeFromPoint
TiledImageBidirectionalRangeFromPoint(const TiledImageBidirectionalRangeFromPoint &other)
Definition
TiledImageBidirectionalRangeFromPoint.h:111
DGtal::TiledImageBidirectionalRangeFromPoint::className
std::string className() const
Definition
TiledImageBidirectionalRangeFromPoint.h:160
DGtal::TiledImageBidirectionalRangeFromPoint::rend
ConstReverseIterator rend() const
Definition
TiledImageBidirectionalRangeFromPoint.h:321
DGtal::TiledImageBidirectionalRangeFromPoint::rbegin
ConstReverseIterator rbegin(const Point &aPoint) const
Definition
TiledImageBidirectionalRangeFromPoint.h:312
DGtal::TiledImageBidirectionalRangeFromPoint::end
ConstIterator end() const
Definition
TiledImageBidirectionalRangeFromPoint.h:227
DGtal::TiledImageBidirectionalRangeFromPoint::~TiledImageBidirectionalRangeFromPoint
~TiledImageBidirectionalRangeFromPoint()
Definition
TiledImageBidirectionalRangeFromPoint.h:132
DGtal::TiledImageBidirectionalRangeFromPoint::begin
ConstIterator begin(const Point &aPoint) const
Definition
TiledImageBidirectionalRangeFromPoint.h:209
DGtal::TiledImageBidirectionalRangeFromPoint::routputIterator
ReverseOutputIterator routputIterator(const Point &aPoint)
Definition
TiledImageBidirectionalRangeFromPoint.h:265
DGtal::TiledImageBidirectionalRangeFromPoint::OutputIterator
TiledImage::OutputIterator OutputIterator
Definition
TiledImageBidirectionalRangeFromPoint.h:92
DGtal::TiledImage::ConstIterator
TiledIterator ConstIterator
Definition
TiledImage.h:451
DGtal::TiledImage::Point
ImageContainer::Point Point
Definition
TiledImage.h:95
DGtal::TiledImage::OutputIterator
TiledIterator OutputIterator
Definition
TiledImage.h:452
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
DGtal::Value
DGtal::IteratorCirculatorTraits::Value
IC::value_type Value
Definition
IteratorCirculatorTraits.h:303
boost::BidirectionalIterator
Go to http://www.sgi.com/tech/stl/BidirectionalIterator.html.
Definition
Boost.dox:42
aPoint
const Point aPoint(3, 4)
src
DGtal
base
TiledImageBidirectionalRangeFromPoint.h
Generated on
for DGtal by
1.18.0