DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
CSeparableMetric.h
1
16
17
#pragma once
18
30
31
#if defined(CSeparableMetric_RECURSES)
32
#error Recursive header files inclusion detected in CSeparableMetric.h
33
#else
// defined(CSeparableMetric_RECURSES)
35
#define CSeparableMetric_RECURSES
36
37
#if !defined CSeparableMetric_h
39
#define CSeparableMetric_h
40
42
// Inclusions
43
#include <iostream>
44
#include "DGtal/base/Common.h"
45
#include "DGtal/geometry/volumes/distance/CMetricSpace.h"
47
48
namespace
DGtal
49
{
50
namespace
concepts
51
{
53
// class CSeparableMetric
100
template
<
typename
T>
101
struct
CSeparableMetric
:
CMetricSpace
<T>
102
{
103
// ----------------------- Concept checks ------------------------------
104
public
:
105
typedef
typename
T::Point
Point
;
106
BOOST_CONCEPT_USAGE
(
CSeparableMetric
)
107
{
108
checkConstConstraints
();
109
}
110
void
checkConstConstraints
()
const
111
{
112
// const method dummyConst should take parameter myA of type A and return
113
// something of type B
114
ConceptUtils::sameType
(
myBool
,
myX
.hiddenBy(
u
,
v
,
w
,
start
,
end
,
dim
) );
115
}
116
// ------------------------- Private Data --------------------------------
117
private
:
118
T
myX
;
// do not require T to be default constructible.
119
Point
u
,
v
,
w
,
start
,
end
;
120
bool
myBool
;
121
DGtal::Dimension
dim
;
122
123
// ------------------------- Internals ------------------------------------
124
private
:
125
126
};
// end of concept CSeparableMetric
127
}
128
}
// namespace DGtal
129
130
// //
132
133
#endif
// !defined CSeparableMetric_h
134
135
#undef CSeparableMetric_RECURSES
136
#endif
// else defined(CSeparableMetric_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::Dimension
DGtal::uint32_t Dimension
Definition
Common.h:119
DGtal::concepts::CMetricSpace
Aim: defines the concept of metric spaces.
Definition
CMetricSpace.h:125
DGtal::concepts::CSeparableMetric
Aim: defines the concept of separable metrics.
Definition
CSeparableMetric.h:102
DGtal::concepts::CSeparableMetric::Point
T::Point Point
Definition
CSeparableMetric.h:105
DGtal::concepts::CSeparableMetric::dim
DGtal::Dimension dim
Definition
CSeparableMetric.h:121
DGtal::concepts::CSeparableMetric::end
Point end
Definition
CSeparableMetric.h:119
DGtal::concepts::CSeparableMetric::w
Point w
Definition
CSeparableMetric.h:119
DGtal::concepts::CSeparableMetric::myX
T myX
Definition
CSeparableMetric.h:118
DGtal::concepts::CSeparableMetric::start
Point start
Definition
CSeparableMetric.h:119
DGtal::concepts::CSeparableMetric::BOOST_CONCEPT_USAGE
BOOST_CONCEPT_USAGE(CSeparableMetric)
Definition
CSeparableMetric.h:106
DGtal::concepts::CSeparableMetric::u
Point u
Definition
CSeparableMetric.h:119
DGtal::concepts::CSeparableMetric::checkConstConstraints
void checkConstConstraints() const
Definition
CSeparableMetric.h:110
DGtal::concepts::CSeparableMetric::v
Point v
Definition
CSeparableMetric.h:119
DGtal::concepts::CSeparableMetric::myBool
bool myBool
Definition
CSeparableMetric.h:120
src
DGtal
geometry
volumes
distance
CSeparableMetric.h
Generated on
for DGtal by
1.18.0