From cf1d6a30afa6b57286ae8492292227961ca20491 Mon Sep 17 00:00:00 2001 From: Jeremy Siek Date: Mon, 15 Jan 2001 03:10:11 +0000 Subject: [PATCH] fixed some warnings under g++ [SVN r8600] --- include/boost/pending/iterator_adaptors.hpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/include/boost/pending/iterator_adaptors.hpp b/include/boost/pending/iterator_adaptors.hpp index cd1ee5e..379762b 100644 --- a/include/boost/pending/iterator_adaptors.hpp +++ b/include/boost/pending/iterator_adaptors.hpp @@ -55,35 +55,45 @@ struct TrivialIteratorPoliciesConcept void const_constraints() const { Reference r = p.dereference(type(), x); b = p.equal(x, x); + ignore_unused_variable_warning(r); } Policies p; Adapted x; mutable bool b; }; +// Add InputIteratorPoliciesConcept? + template struct ForwardIteratorPoliciesConcept { + typedef typename Traits::iterator_category iterator_category; void constraints() { function_requires< TrivialIteratorPoliciesConcept >(); p.increment(x); + std::forward_iterator_tag t = iterator_category(); + ignore_unused_variable_warning(t); } Policies p; Adapted x; + iterator_category category; }; template struct BidirectionalIteratorPoliciesConcept { + typedef typename Traits::iterator_category iterator_category; void constraints() { function_requires< ForwardIteratorPoliciesConcept >(); p.decrement(x); + std::bidirectional_iterator_tag t = iterator_category(); + ignore_unused_variable_warning(t); } Policies p; Adapted x; @@ -93,13 +103,16 @@ template struct RandomAccessIteratorPoliciesConcept { typedef typename Traits::difference_type DifferenceType; + typedef typename Traits::iterator_category iterator_category; void constraints() { function_requires< BidirectionalIteratorPoliciesConcept >(); p.advance(x, n); + std::random_access_iterator_tag t = iterator_category(); const_constraints(); + ignore_unused_variable_warning(t); } void const_constraints() const { n = p.distance(type(), x, x); @@ -248,7 +261,7 @@ namespace detail { // Real version template - inline typename Iter::pointer + inline void advance_impl(Iter& i, Diff n, std::random_access_iterator_tag) { #ifdef __MWERKS__ i.policies().advance(i.iter(), n); @@ -265,7 +278,7 @@ namespace detail { // Real version template - inline typename Iter::pointer + inline void decrement_impl(Iter& i, std::bidirectional_iterator_tag) { #ifdef __MWERKS__ i.policies().decrement(i.iter());