DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
DigitalSetInserter.h
1
16
17
#pragma once
18
30
31
#if defined(DigitalSetInserter_RECURSES)
32
#error Recursive header files inclusion detected in DigitalSetInserter.h
33
#else
// defined(DigitalSetInserter_RECURSES)
35
#define DigitalSetInserter_RECURSES
36
37
#if !defined DigitalSetInserter_h
39
#define DigitalSetInserter_h
40
42
// Inclusions
43
#include "DGtal/base/Common.h"
44
#include "DGtal/kernel/sets/CDigitalSet.h"
45
46
#include <iostream>
47
49
50
namespace
DGtal
51
{
52
54
// template class DigitalSetInserter
64
template
<
typename
TDigitalSet>
65
class
DigitalSetInserter
66
{
67
68
BOOST_CONCEPT_ASSERT
((
concepts::CDigitalSet<TDigitalSet>
));
69
70
// ----------------------- Standard services ------------------------------
71
public
:
72
73
using
iterator_category
= std::output_iterator_tag;
74
using
value_type
= void;
75
using
difference_type
= void;
76
using
pointer
= void;
77
using
reference
= void;
78
83
explicit
DigitalSetInserter
(TDigitalSet& aSet)
84
:
mySet
(&aSet) {}
85
86
// ----------------------- Interface --------------------------------------
87
public
:
88
93
DigitalSetInserter<TDigitalSet>
&
operator=
(
typename
TDigitalSet::Point
aPoint
)
94
{
mySet
->insert(
aPoint
);
return
*
this
; }
95
100
DigitalSetInserter<TDigitalSet>
&
operator*
()
101
{
return
*
this
; }
102
106
DigitalSetInserter<TDigitalSet>
&
operator++
()
107
{
return
*
this
; }
108
112
DigitalSetInserter<TDigitalSet>
operator++
(
int
)
113
{
return
*
this
; }
114
115
116
// ------------------------- Private Data --------------------------------
117
private
:
121
TDigitalSet*
mySet
;
122
123
};
// end of class DigitalSetInserter
124
125
}
127
// Includes inline functions.
128
//#include "DGtal/images/DigitalSetInserter.ih"
129
130
//
132
133
#endif
// !defined DigitalSetInserter_h
134
135
#undef DigitalSetInserter_RECURSES
136
#endif
// else defined(DigitalSetInserter_RECURSES)
DGtal::DigitalSetInserter::operator*
DigitalSetInserter< TDigitalSet > & operator*()
Definition
DigitalSetInserter.h:100
DGtal::DigitalSetInserter::operator++
DigitalSetInserter< TDigitalSet > & operator++()
Definition
DigitalSetInserter.h:106
DGtal::DigitalSetInserter::value_type
void value_type
Definition
DigitalSetInserter.h:74
DGtal::DigitalSetInserter::mySet
TDigitalSet * mySet
Definition
DigitalSetInserter.h:121
DGtal::DigitalSetInserter::iterator_category
std::output_iterator_tag iterator_category
Definition
DigitalSetInserter.h:73
DGtal::DigitalSetInserter::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CDigitalSet< TDigitalSet >))
DGtal::DigitalSetInserter::difference_type
void difference_type
Definition
DigitalSetInserter.h:75
DGtal::DigitalSetInserter::operator=
DigitalSetInserter< TDigitalSet > & operator=(typename TDigitalSet::Point aPoint)
Definition
DigitalSetInserter.h:93
DGtal::DigitalSetInserter::DigitalSetInserter
DigitalSetInserter(TDigitalSet &aSet)
Definition
DigitalSetInserter.h:83
DGtal::DigitalSetInserter::pointer
void pointer
Definition
DigitalSetInserter.h:76
DGtal::DigitalSetInserter::reference
void reference
Definition
DigitalSetInserter.h:77
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
DGtal::concepts::CDigitalSet
Aim: Represents a set of points within the given domain. This set of points is modifiable by the user...
Definition
CDigitalSet.h:141
aPoint
const Point aPoint(3, 4)
src
DGtal
kernel
sets
DigitalSetInserter.h
Generated on
for DGtal by
1.18.0