DGtal 1.4.0
Loading...
Searching...
No Matches
CSTLAssociativeContainer.h
1
17#pragma once
18
31#if defined(CSTLAssociativeContainer_RECURSES)
32#error Recursive header files inclusion detected in CSTLAssociativeContainer.h
33#else // defined(CSTLAssociativeContainer_RECURSES)
35#define CSTLAssociativeContainer_RECURSES
36
37#if !defined CSTLAssociativeContainer_h
39#define CSTLAssociativeContainer_h
40
42// Inclusions
43#include <iostream>
45
46namespace DGtal
47{
48 namespace concepts
49 {
51 // class CSTLAssociativeContainer
101 template <typename T>
103 {
104 // ----------------------- Concept checks ------------------------------
105 public:
106 typedef typename T::iterator iterator;
107 typedef typename T::value_type value_type;
108 typedef typename T::key_type key_type;
109 typedef typename T::size_type size_type;
110 typedef typename T::const_iterator const_iterator;
111
113 {
114 x.erase(key);
115 x.erase(p);
116 x.erase(p, q);
117 x.clear();
118 p = x.find(key);
119 r = x.equal_range(key);
120 n = x.count(key);
121 };
122
123 private:
124 void const_constraints(const T& cc)
125 {
126 ci = cc.find(key);
127 n = cc.count(key);
128 cr = cc.equal_range(key);
129 }
130
131
132 private:
133 T x;
139 std::pair<iterator,iterator> r;
140 std::pair<const_iterator,const_iterator> cr;
141
142 }; // end of concept CSTLAssociativeContainer
143 } // namespace concept
144} // namespace DGtal
145
146
147
148// //
150
151#endif // !defined CSTLAssociativeContainer_h
152
153#undef CSTLAssociativeContainer_RECURSES
154#endif // else defined(CSTLAssociativeContainer_RECURSES)
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: Defines the concept describing an Associative Container of the STL (https://www....
std::pair< const_iterator, const_iterator > cr
Go to http://www.sgi.com/tech/stl/DefaultConstructible.html.
Definition Boost.dox:30
Go to http://www.sgi.com/tech/stl/ForwardContainer.html.
Definition Boost.dox:110