DGtal 1.3.0
Loading...
Searching...
No Matches
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)
35#define CSegment_RECURSES
36
37#if !defined CSegment_h
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
49namespace 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.
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)
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 segment, ie. a valid and not empty range.
Definition: CSegment.h:102
BOOST_CONCEPT_USAGE(CSegment)
Definition: CSegment.h:111
T::ConstIterator ConstIterator
Definition: CSegment.h:106
Go to http://www.sgi.com/tech/stl/Assignable.html.
Definition: Boost.dox:32
Go to http://www.sgi.com/tech/stl/CopyConstructible.html.
Definition: Boost.dox:34
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