DGtal  0.9.2
CSegment.h
1 
17 #pragma once
18 
31 #if defined(CSegment_RECURSES)
32 #error Recursive header files inclusion detected in CSegment.h
33 #else // defined(CSegment_RECURSES)
34 
35 #define CSegment_RECURSES
36 
37 #if !defined CSegment_h
38 
39 #define CSegment_h
40 
42 // Inclusions
43 #include <iostream>
44 #include "DGtal/base/Common.h"
45 #include "boost/concept_check.hpp"
46 #include "DGtal/base/ConceptUtils.h"
48 
49 namespace DGtal
50 {
51  namespace concepts
52  {
54  // class CSegment
100  template <typename T>
102  {
103  // ----------------------- Concept checks ------------------------------
104  public:
105  // Inner types
106  typedef typename T::ConstIterator ConstIterator;
107  //Uncomment if all iterators have been cleaned
108  //BOOST_CONCEPT_ASSERT(( boost::BidirectionalIterator<T> ));
109 
110  // Methods
112  {
115  }
116  // ------------------------- Private Datas --------------------------------
117  private:
118  T myX; // only if T is default constructible.
119  ConstIterator it;
120 
121  // ------------------------- Internals ------------------------------------
122  private:
123 
124  }; // end of concept CSegment
125  }
126 } // namespace DGtal
127 
128 // //
130 
131 #endif // !defined CSegment_h
132 
133 #undef CSegment_RECURSES
134 #endif // else defined(CSegment_RECURSES)
Go to http://www.sgi.com/tech/stl/Assignable.html.
Definition: Boost.dox:32
T::ConstIterator ConstIterator
Definition: CSegment.h:106
Go to http://www.sgi.com/tech/stl/DefaultConstructible.html.
Definition: Boost.dox:30
Go to http://www.sgi.com/tech/stl/EqualityComparable.html.
Definition: Boost.dox:46
BOOST_CONCEPT_USAGE(CSegment)
Definition: CSegment.h:111
void sameType(const T &t1, const T &t2)
Go to http://www.sgi.com/tech/stl/CopyConstructible.html.
Definition: Boost.dox:34
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: Defines the concept describing a segment, ie. a valid and not empty range.
Definition: CSegment.h:101