DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
CBidirectionalRangeFromPoint.h
1
16
17
#pragma once
18
30
31
#if defined(CBidirectionalRangeFromPoint_RECURSES)
32
#error Recursive header files inclusion detected in CBidirectionalRangeFromPoint.h
33
#else
// defined(CBidirectionalRangeFromPoint_RECURSES)
35
#define CBidirectionalRangeFromPoint_RECURSES
36
37
#if !defined CBidirectionalRangeFromPoint_h
39
#define CBidirectionalRangeFromPoint_h
40
42
// Inclusions
43
#include "DGtal/base/Common.h"
44
#include "DGtal/base/CBidirectionalRange.h"
45
#include "DGtal/base/CConstBidirectionalRangeFromPoint.h"
47
48
namespace
DGtal
49
{
50
51
namespace
concepts
52
{
53
55
// class CBidirectionalRangeFromPoint
93
template
<
typename
T>
94
95
struct
CBidirectionalRangeFromPoint
:
96
CBidirectionalRange
<T>,
97
CConstBidirectionalRangeFromPoint
<T>
98
{
99
// ----------------------- Concept checks ------------------------------
100
101
public
:
102
// 1. define first provided types (i.e. inner types), like
103
typedef
typename
T::Point
Point
;
104
typedef
typename
T::ReverseIterator
ReverseIterator
;
105
106
107
// 2. then check the presence of data members, operators and methods with
108
BOOST_CONCEPT_USAGE
(
CBidirectionalRangeFromPoint
)
109
{
110
concepts::ConceptUtils::sameType
(
myIt
,
myX
.rbegin (
myPoint
) );
111
}
112
113
// ------------------------- Private Data --------------------------------
114
115
private
:
116
T
myX
;
// do not require T to be default constructible.
117
Point
myPoint
;
118
ReverseIterator
myIt
;
119
120
// ------------------------- Internals ------------------------------------
121
122
private
:
123
124
};
// end of concept CBidirectionalRangeFromPoint
125
126
}
// namespace concepts
127
128
}
// namespace DGtal
129
130
// //
132
133
#endif
// !defined CBidirectionalRangeFromPoint_h
134
135
#undef CBidirectionalRangeFromPoint_RECURSES
136
#endif
// else defined(CBidirectionalRangeFromPoint_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::CBidirectionalRangeFromPoint
Aim: refined concept of single pass range with a begin() method from a point.
Definition
CBidirectionalRangeFromPoint.h:98
DGtal::concepts::CBidirectionalRangeFromPoint::BOOST_CONCEPT_USAGE
BOOST_CONCEPT_USAGE(CBidirectionalRangeFromPoint)
Definition
CBidirectionalRangeFromPoint.h:108
DGtal::concepts::CBidirectionalRangeFromPoint::myPoint
Point myPoint
Definition
CBidirectionalRangeFromPoint.h:117
DGtal::concepts::CBidirectionalRangeFromPoint::Point
T::Point Point
Definition
CBidirectionalRangeFromPoint.h:103
DGtal::concepts::CBidirectionalRangeFromPoint::myX
T myX
Definition
CBidirectionalRangeFromPoint.h:116
DGtal::concepts::CBidirectionalRangeFromPoint::myIt
ReverseIterator myIt
Definition
CBidirectionalRangeFromPoint.h:118
DGtal::concepts::CBidirectionalRangeFromPoint::ReverseIterator
T::ReverseIterator ReverseIterator
Definition
CBidirectionalRangeFromPoint.h:104
DGtal::concepts::CBidirectionalRange
Aim: Defines the concept describing a bidirectional range.
Definition
CBidirectionalRange.h:90
DGtal::concepts::CConstBidirectionalRangeFromPoint
Aim: refined concept of const bidirectional range with a begin() method from a point.
Definition
CConstBidirectionalRangeFromPoint.h:93
src
DGtal
base
CBidirectionalRangeFromPoint.h
Generated on
for DGtal by
1.18.0