DGtal 1.4.0
Loading...
Searching...
No Matches
CVectorSpace.h
1
17#pragma once
18
31#if defined(CVectorSpace_RECURSES)
32#error Recursive header files inclusion detected in CVectorSpace.h
33#else // defined(CVectorSpace_RECURSES)
35#define CVectorSpace_RECURSES
36
37#if !defined CVectorSpace_h
39#define CVectorSpace_h
40
42// Inclusions
43#include <iostream>
44#include "DGtal/base/Common.h"
45#include "DGtal/kernel/CEuclideanRing.h"
47
48namespace DGtal
49{
50 namespace concepts
51 {
53 // class CVectorSpace
91 template <typename T>
93 {
94 // ----------------------- Concept checks ------------------------------
95 public:
96 typedef typename T::Scalar Scalar;
97
99
101 {
102 z = x + y;
103 z = x - y;
104 z = a * x;
105 }
106 // ------------------------- Private Datas --------------------------------
107 private:
108 const T x,y;
109 T z;
111
112 // ------------------------- Internals ------------------------------------
113 private:
114
115 }; // end of concept CVectorSpace
116 }
117} // namespace DGtal
118
119// //
121
122#endif // !defined CVectorSpace_h
123
124#undef CVectorSpace_RECURSES
125#endif // else defined(CVectorSpace_RECURSES)
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: Defines the mathematical concept equivalent to a unitary commutative ring with a division operat...
Aim: Base concept for vector space structure.
BOOST_CONCEPT_ASSERT((concepts::CEuclideanRing< Scalar >))
Go to http://www.sgi.com/tech/stl/Assignable.html.
Definition Boost.dox:32