@@ -106,7 +106,7 @@ namespace DGtal
106106 * @param n any positive distance
107107 * @tparam IC any model o fiterator or circulator
108108 */
109- template <typename IC>
109+ template <concepts::ConceptUtils::ForwardTraversal IC>
110110 inline
111111 void advanceIterator (IC& ic,
112112 typename IteratorCirculatorTraits<IC>::Difference n);
@@ -119,7 +119,7 @@ namespace DGtal
119119 * @param n any positive distance
120120 * @tparam IC any iterator or circulator
121121 */
122- template <typename IC>
122+ template <concepts::ConceptUtils::ForwardTraversal IC>
123123 inline
124124 void advanceIterator (IC& ic,
125125 typename IteratorCirculatorTraits<IC>::Difference n,
@@ -145,7 +145,7 @@ namespace DGtal
145145 * @return the size
146146 * @tparam IC any model of iterator or circulator
147147 */
148- template <typename IC>
148+ template <concepts::ConceptUtils::ForwardTraversal IC>
149149 inline
150150 typename IteratorCirculatorTraits<IC>::Difference
151151 rangeSize (const IC& itb, const IC& ite);
@@ -159,7 +159,7 @@ namespace DGtal
159159 * @return the size
160160 * @tparam IC any model of iterator or circulator
161161 */
162- template <typename IC>
162+ template <concepts::ConceptUtils::ForwardTraversal IC>
163163 inline
164164 typename IteratorCirculatorTraits<IC>::Difference
165165 subRangeSize (const IC& itb, const IC& ite);
@@ -174,7 +174,7 @@ namespace DGtal
174174 * NB: in O(ite-itb)
175175 * @tparam I any iterator
176176 */
177- template <typename I>
177+ template <concepts::ConceptUtils::ForwardTraversal I>
178178 inline
179179 typename IteratorCirculatorTraits<I>::Difference
180180 rangeSize (const I& itb, const I& ite, IteratorType /* t*/ , ForwardCategory /* c*/ );
@@ -188,7 +188,7 @@ namespace DGtal
188188 * NB: linear in the range size
189189 * @tparam C any circulator
190190 */
191- template <typename C>
191+ template <concepts::ConceptUtils::ForwardTraversal C>
192192 inline
193193 typename IteratorCirculatorTraits<C>::Difference
194194 rangeSize (const C& cb, const C& ce, CirculatorType /* t*/ , ForwardCategory /* c*/ );
@@ -234,7 +234,7 @@ namespace DGtal
234234 * @return the middle iterator of the range [ @a itb , @a ite )
235235 * @tparam IC any model iterator or circulator
236236 */
237- template <typename IC>
237+ template <concepts::ConceptUtils::ForwardTraversal IC>
238238 inline
239239 IC rangeMiddle (const IC& itb, const IC& ite);
240240
@@ -246,7 +246,7 @@ namespace DGtal
246246 * @return the middle iterator of the subrange [ @a itb , @a ite )
247247 * @tparam IC any model of iterator or circulator
248248 */
249- template <typename IC>
249+ template <concepts::ConceptUtils::ForwardTraversal IC>
250250 inline
251251 IC subRangeMiddle (const IC& itb, const IC& ite);
252252
@@ -260,7 +260,7 @@ namespace DGtal
260260 * NB: in O(ite-itb)
261261 * @tparam I any iterator
262262 */
263- template <typename I>
263+ template <concepts::ConceptUtils::ForwardTraversal I>
264264 inline
265265 I rangeMiddle (const I& itb, const I& ite, IteratorType /* t*/ , ForwardCategory /* c*/ );
266266
@@ -273,7 +273,7 @@ namespace DGtal
273273 * NB: linear in the range size
274274 * @tparam C any circulator
275275 */
276- template <typename C>
276+ template <concepts::ConceptUtils::ForwardTraversal C>
277277 inline
278278 C rangeMiddle (const C& cb, const C& ce, CirculatorType /* t*/ , ForwardCategory /* c*/ );
279279
0 commit comments