DGtal
1.1.0
src
DGtal
base
CSinglePassRangeWithWritableIteratorFromPoint.h
1
17
#pragma once
18
31
#if defined(CSinglePassRangeWithWritableIteratorFromPoint_RECURSES)
32
#error Recursive header files inclusion detected in CSinglePassRangeWithWritableIteratorFromPoint.h
33
#else // defined(CSinglePassRangeWithWritableIteratorFromPoint_RECURSES)
34
35
#define CSinglePassRangeWithWritableIteratorFromPoint_RECURSES
36
37
#if !defined CSinglePassRangeWithWritableIteratorFromPoint_h
38
39
#define CSinglePassRangeWithWritableIteratorFromPoint_h
40
42
// Inclusions
43
#include <iostream>
44
#include "DGtal/base/Common.h"
45
#include "DGtal/base/CSinglePassRangeWithWritableIterator.h"
46
#include "DGtal/base/CConstSinglePassRangeFromPoint.h"
48
49
namespace
DGtal
50
{
51
52
namespace
concepts
53
{
54
56
// class CSinglePassRangeWithWritableIteratorFromPoint
90
template
<
typename
T,
typename
Value>
91
struct
CSinglePassRangeWithWritableIteratorFromPoint
:
92
CConstSinglePassRangeFromPoint
<T,Value>,
93
CSinglePassRangeWithWritableIterator
<T,Value>
94
{
95
// ----------------------- Concept checks ------------------------------
96
public
:
97
// 1. define first provided types (i.e. inner types), like
98
typedef
typename
T::OutputIterator
OutputIterator
;
99
typedef
typename
T::Point
Point
;
100
101
// 2. then check the presence of data members, operators and methods with
102
BOOST_CONCEPT_USAGE
(
CSinglePassRangeWithWritableIteratorFromPoint
)
103
{
104
ConceptUtils::sameType
(
myIt
,
myX
.begin(
myPoint
) );
105
}
106
107
// ------------------------- Private Datas --------------------------------
108
private
:
109
T
myX
;
// do not require T to be default constructible.
110
Point
myPoint
;
111
OutputIterartor
myIt
;
112
113
// ------------------------- Internals ------------------------------------
114
private
:
115
116
};
// end of concept CSinglePassRangeWithWritableIteratorFromPoint
117
118
}
// namespace concepts
119
120
}
// namespace DGtal
121
122
// //
124
125
#endif // !defined CSinglePassRangeWithWritableIteratorFromPoint_h
126
127
#undef CSinglePassRangeWithWritableIteratorFromPoint_RECURSES
128
#endif // else defined(CSinglePassRangeWithWritableIteratorFromPoint_RECURSES)
DGtal::concepts::CSinglePassRangeWithWritableIteratorFromPoint
Aim: refined concept of single pass range with a outputIterator() method from a point.
Definition:
CSinglePassRangeWithWritableIteratorFromPoint.h:94
DGtal::concepts::CSinglePassRangeWithWritableIteratorFromPoint::myPoint
Point myPoint
Definition:
CSinglePassRangeWithWritableIteratorFromPoint.h:110
DGtal::concepts::CSinglePassRangeWithWritableIteratorFromPoint::Point
T::Point Point
Definition:
CSinglePassRangeWithWritableIteratorFromPoint.h:99
DGtal::concepts::CSinglePassRangeWithWritableIteratorFromPoint::myIt
OutputIterartor myIt
Definition:
CSinglePassRangeWithWritableIteratorFromPoint.h:111
DGtal::concepts::CSinglePassRangeWithWritableIteratorFromPoint::myX
T myX
Definition:
CSinglePassRangeWithWritableIteratorFromPoint.h:109
DGtal::concepts::CSinglePassRangeWithWritableIterator
Aim: refined concept of const single pass range which require that an output iterator exists.
Definition:
CSinglePassRangeWithWritableIterator.h:88
DGtal::concepts::CConstSinglePassRangeFromPoint
Aim: refined concept of const single pass range with a begin() method from a point.
Definition:
CConstSinglePassRangeFromPoint.h:87
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition:
ClosedIntegerHalfPlane.h:49
DGtal::concepts::ConceptUtils::sameType
void sameType(const T &, const T &)
Definition:
ConceptUtils.h:117
Point
MyPointD Point
Definition:
testClone2.cpp:383
DGtal::concepts::CSinglePassRangeWithWritableIteratorFromPoint::OutputIterator
T::OutputIterator OutputIterator
Definition:
CSinglePassRangeWithWritableIteratorFromPoint.h:98
DGtal::concepts::CSinglePassRangeWithWritableIteratorFromPoint::BOOST_CONCEPT_USAGE
BOOST_CONCEPT_USAGE(CSinglePassRangeWithWritableIteratorFromPoint)
Definition:
CSinglePassRangeWithWritableIteratorFromPoint.h:102
Generated on Fri Oct 9 2020 08:57:48 for DGtal by
1.8.20