DGtal  1.4.beta
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 
48 namespace 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.
Definition: CVectorSpace.h:93
BOOST_CONCEPT_ASSERT((concepts::CEuclideanRing< Scalar >))
Go to http://www.sgi.com/tech/stl/Assignable.html.
Definition: Boost.dox:32