DGtal  1.5.beta
CImage.h
1 
17 #pragma once
18 
31 #if defined(CImageRECURSES)
32 #error Recursive header files inclusion detected in CImage.h
33 #else // defined(CImageRECURSES)
35 #define CImageRECURSES
36 
37 #if !defined CImage_h
39 #define CImage_h
40 
41 #include <boost/concept_check.hpp>
42 #include <boost/concept/assert.hpp>
43 #include <boost/concept/requires.hpp>
44 
45 #include "DGtal/kernel/domains/CDomain.h"
46 #include "DGtal/images/CConstImage.h"
47 #include "DGtal/base/CConstBidirectionalRangeFromPoint.h"
48 #include "DGtal/base/CBidirectionalRangeWithWritableIteratorFromPoint.h"
49 #include "DGtal/images/CTrivialImage.h"
50 
51 namespace DGtal
52 {
53 namespace concepts
54 {
56 // struct CImage
101 template <typename I>
103 {
104 
105 public:
106 
107  typedef typename I::Range Range;
110  I::Value>));
111 
112 public:
113 
115  {
116  ConceptUtils::sameType( myI.range(), myR);
117  }
118 
119 private:
120 
121  I myI;
123 
124 };
125 }
126 } // namespace DGtal
127 
128 // //
130 
131 #endif // !defined CImage_h
132 
133 #undef CImageRECURSES
134 #endif // else defined(CImageRECURSES)
void sameType(const T &, const T &)
Definition: ConceptUtils.h:117
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: refined concept of single pass range with an routputIterator() method from a point.
Aim: refined concept of const bidirectional range with a begin() method from a point.
Aim: Defines the concept describing a read-only image, which is a refinement of CPointFunctor.
Definition: CConstImage.h:95
Aim: Defines the concept describing a read/write image, having an output iterator.
Definition: CImage.h:103
BOOST_CONCEPT_ASSERT((CBidirectionalRangeWithWritableIteratorFromPoint< Range, typename I::Value >))
BOOST_CONCEPT_ASSERT((CConstBidirectionalRangeFromPoint< Range >))
BOOST_CONCEPT_USAGE(CImage)
Definition: CImage.h:114
Aim: Defines the concept describing an image without extra ranges, which is a refinement of CTrivialC...
Definition: CTrivialImage.h:85