DGtal  1.5.beta
CBidirectionalSegmentComputer.h
1 
17 #pragma once
18 
31 #if defined(CBidirectionalSegmentComputer_RECURSES)
32 #error Recursive header files inclusion detected in CBidirectionalSegmentComputer.h
33 #else // defined(CBidirectionalSegmentComputer_RECURSES)
35 #define CBidirectionalSegmentComputer_RECURSES
36 
37 #if !defined CBidirectionalSegmentComputer_h
39 #define CBidirectionalSegmentComputer_h
40 
42 // Inclusions
43 #include <iostream>
44 #include "DGtal/base/Common.h"
45 #include "DGtal/geometry/curves/CForwardSegmentComputer.h"
47 
48 namespace DGtal
49 {
50  namespace concepts
51  {
53  // class CBidirectionalSegmentComputer
89  template <typename T>
91  {
92  // ----------------------- Concept checks ------------------------------
93  public:
94  // Methods
96  {
97  concepts::ConceptUtils::sameType( myB, myX.isExtendableBack() );
98  concepts::ConceptUtils::sameType( myB, myX.extendBack() );
99  }
100  // ------------------------- Private Datas --------------------------------
101  private:
102  T myX; // only if T is default constructible.
103  bool myB;
104 
105  // ------------------------- Internals ------------------------------------
106  private:
107 
108  }; // end of concept CBidirectionalSegmentComputer
109  } //namespace concepts
110 } // namespace DGtal
111 
112 // //
114 
115 #endif // !defined CBidirectionalSegmentComputer_h
116 
117 #undef CBidirectionalSegmentComputer_RECURSES
118 #endif // else defined(CBidirectionalSegmentComputer_RECURSES)
void sameType(const T &, const T &)
Definition: ConceptUtils.h:117
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: Defines the concept describing a bidirectional segment computer, ie. a model of concepts::CSeg...
Aim: Defines the concept describing a forward segment computer. Like any model of CIncrementalSegment...