DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
CBidirectionalRangeWithWritableIterator.h
1
16
17
#pragma once
18
29
30
#if defined(CBidirectionalRangeWithWritableIterator_RECURSES)
31
#error Recursive header files inclusion detected in CBidirectionalRangeWithWritableIterator.h
32
#else
// defined(CBidirectionalRangeWithWritableIterator_RECURSES)
34
#define CBidirectionalRangeWithWritableIterator_RECURSES
35
36
#if !defined CBidirectionalRangeWithWritableIterator_h
38
#define CBidirectionalRangeWithWritableIterator_h
39
41
// Inclusions
42
#include "DGtal/base/Common.h"
43
#include "DGtal/base/CSinglePassRangeWithWritableIterator.h"
45
46
namespace
DGtal
47
{
48
49
namespace
concepts
50
{
51
53
// class CBidirectionalRangeWithWritableIterator
91
template
<
typename
T,
typename
Value>
92
struct
CBidirectionalRangeWithWritableIterator
:
CSinglePassRangeWithWritableIterator
<T, Value>
93
{
94
// ----------------------- Concept checks ------------------------------
95
public
:
96
// 1. define first provided types (i.e. inner types), like
97
typedef
typename
T::ReverseOutputIterator
ReverseOutputIterator
;
98
// possibly check these types so as to satisfy a concept with
99
//BOOST_CONCEPT_ASSERT(( CConcept< InnerType > ));
100
101
BOOST_CONCEPT_USAGE
(
CBidirectionalRangeWithWritableIterator
)
102
{
103
concepts::ConceptUtils::sameType
(
myOutput
,
myX
.routputIterator( ) );
104
}
105
// ------------------------- Private Data --------------------------------
106
private
:
107
T
myX
;
// do not require T to be default constructible.
108
ReverseOutputIterator
myOutput
;
109
110
// ------------------------- Internals ------------------------------------
111
private
:
112
113
};
// end of concept CBidirectionalRangeWithWritableIterator
114
115
}
// namespace concepts
116
117
}
// namespace DGtal
118
119
// //
121
122
#endif
// !defined CBidirectionalRangeWithWritableIterator_h
123
124
#undef CBidirectionalRangeWithWritableIterator_RECURSES
125
#endif
// else defined(CBidirectionalRangeWithWritableIterator_RECURSES)
DGtal::concepts::ConceptUtils::sameType
void sameType(const T &, const T &)
Definition
ConceptUtils.h:117
DGtal::concepts
Aim: Gathers several functions useful for concept checks.
Definition
CPositiveIrreducibleFraction.h:54
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
DGtal::concepts::CBidirectionalRangeWithWritableIterator
Aim: refined concept of bidirectional range which require that a reverse output iterator exists.
Definition
CBidirectionalRangeWithWritableIterator.h:93
DGtal::concepts::CBidirectionalRangeWithWritableIterator::ReverseOutputIterator
T::ReverseOutputIterator ReverseOutputIterator
Definition
CBidirectionalRangeWithWritableIterator.h:97
DGtal::concepts::CBidirectionalRangeWithWritableIterator::myOutput
ReverseOutputIterator myOutput
Definition
CBidirectionalRangeWithWritableIterator.h:108
DGtal::concepts::CBidirectionalRangeWithWritableIterator::myX
T myX
Definition
CBidirectionalRangeWithWritableIterator.h:107
DGtal::concepts::CBidirectionalRangeWithWritableIterator::BOOST_CONCEPT_USAGE
BOOST_CONCEPT_USAGE(CBidirectionalRangeWithWritableIterator)
Definition
CBidirectionalRangeWithWritableIterator.h:101
DGtal::concepts::CSinglePassRangeWithWritableIterator
Aim: refined concept of const single pass range which require that an output iterator exists.
Definition
CSinglePassRangeWithWritableIterator.h:88
src
DGtal
base
CBidirectionalRangeWithWritableIterator.h
Generated on
for DGtal by
1.18.0