DGtal  0.9.2
CUndirectedSimpleGraph.h
1 
17 #pragma once
18 
31 #if defined(CUndirectedSimpleGraph_RECURSES)
32 #error Recursive header files inclusion detected in CUndirectedSimpleGraph.h
33 #else // defined(CUndirectedSimpleGraph_RECURSES)
34 
35 #define CUndirectedSimpleGraph_RECURSES
36 
37 #if !defined CUndirectedSimpleGraph_h
38 
39 #define CUndirectedSimpleGraph_h
40 
42 // Inclusions
43 #include <iostream>
44 #include "DGtal/base/Common.h"
45 #include "DGtal/base/CConstSinglePassRange.h"
46 #include "DGtal/graph/CUndirectedSimpleLocalGraph.h"
48 
49 // @since 0.8 In DGtal::concepts
50 namespace DGtal {
51  namespace concepts {
52 
54  // class CUndirectedSimpleGraph
101  template <typename T>
105  {
106  // ----------------------- Concept checks ------------------------------
107  public:
108  // 1. define first provided types (i.e. inner types), like
109  typedef typename T::Edge Edge;
110  typedef typename T::Size Size;
111 
112  // 2. then check the presence of data members, operators and methods with
114  {
115  // check const methods.
117  }
119  {
120  ConceptUtils::sameType( mySize, myX.size() );
121  }
122 
123  // ------------------------- Private Datas --------------------------------
124  private:
125  T myX; // do not require T to be default constructible.
126  Size mySize;
127 
128  // ------------------------- Internals ------------------------------------
129  private:
130 
131  }; // end of concept CUndirectedSimpleGraph
132 
133  } // namespace concepts
134 } // namespace DGtal
135 
136 // //
138 
139 #endif // !defined CUndirectedSimpleGraph_h
140 
141 #undef CUndirectedSimpleGraph_RECURSES
142 #endif // else defined(CUndirectedSimpleGraph_RECURSES)
Aim: Defines the concept describing a const single pass range.
void sameType(const T &t1, const T &t2)
Aim: Represents the concept of local graph: each vertex has neighboring vertices, but we do not neces...
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: Represents the concept of local graph: each vertex has neighboring vertices, but we do not neces...