DGtal  1.5.beta
CConstImage.h
1 
17 #pragma once
18 
28 #if defined(CConstImageRECURSES)
29 #error Recursive header files inclusion detected in CConstImage.h
30 #else // defined(CConstImageRECURSES)
32 #define CConstImageRECURSES
33 
34 #if !defined CConstImage_h
36 #define CConstImage_h
37 
38 #include <boost/concept_check.hpp>
39 #include <boost/concept/assert.hpp>
40 #include <boost/concept/requires.hpp>
41 
42 #include "DGtal/kernel/CPointFunctor.h"
43 #include "DGtal/kernel/domains/CDomain.h"
44 #include "DGtal/base/CConstBidirectionalRangeFromPoint.h"
45 #include "DGtal/base/CLabel.h"
46 #include "DGtal/images/CTrivialConstImage.h"
47 
48 namespace DGtal
49 {
50  namespace concepts
51  {
53  // struct CConstImage
93  template <typename I>
95  {
96 
97  public:
98 
99  //Inner types
100  typedef typename I::Domain Domain;
102 
103  typedef typename I::ConstRange ConstRange;
105 
107  {
108  ConceptUtils::sameType(i.domain(), d);
109  ConceptUtils::sameType(i.constRange(), r);
110  }
111 
112  private:
113  I i;
116 
117  };
118  }
119 } // namespace DGtal
120 
121 // //
123 
124 #endif // !defined CConstImage_h
125 
126 #undef CConstImageRECURSES
127 #endif // else defined(CConstImageRECURSES)
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 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
BOOST_CONCEPT_USAGE(CConstImage)
Definition: CConstImage.h:106
BOOST_CONCEPT_ASSERT((concepts::CDomain< Domain >))
BOOST_CONCEPT_ASSERT((CConstBidirectionalRangeFromPoint< ConstRange >))
Aim: This concept represents a digital domain, i.e. a non mutable subset of points of the given digit...
Definition: CDomain.h:130
Aim: Defines the concept describing a read-only image, which is a refinement of CPointFunctor.
Image::ConstRange ConstRange
HyperRectDomain< Space > Domain