fixed some warnings under g++

[SVN r8600]
This commit is contained in:
Jeremy Siek
2001-01-15 03:10:11 +00:00
parent 7fa5da6778
commit cf1d6a30af

View File

@ -55,35 +55,45 @@ struct TrivialIteratorPoliciesConcept
void const_constraints() const { void const_constraints() const {
Reference r = p.dereference(type<Reference>(), x); Reference r = p.dereference(type<Reference>(), x);
b = p.equal(x, x); b = p.equal(x, x);
ignore_unused_variable_warning(r);
} }
Policies p; Policies p;
Adapted x; Adapted x;
mutable bool b; mutable bool b;
}; };
// Add InputIteratorPoliciesConcept?
template <class Policies, class Adapted, class Traits> template <class Policies, class Adapted, class Traits>
struct ForwardIteratorPoliciesConcept struct ForwardIteratorPoliciesConcept
{ {
typedef typename Traits::iterator_category iterator_category;
void constraints() { void constraints() {
function_requires< function_requires<
TrivialIteratorPoliciesConcept<Policies, Adapted, Traits> TrivialIteratorPoliciesConcept<Policies, Adapted, Traits>
>(); >();
p.increment(x); p.increment(x);
std::forward_iterator_tag t = iterator_category();
ignore_unused_variable_warning(t);
} }
Policies p; Policies p;
Adapted x; Adapted x;
iterator_category category;
}; };
template <class Policies, class Adapted, class Traits> template <class Policies, class Adapted, class Traits>
struct BidirectionalIteratorPoliciesConcept struct BidirectionalIteratorPoliciesConcept
{ {
typedef typename Traits::iterator_category iterator_category;
void constraints() { void constraints() {
function_requires< function_requires<
ForwardIteratorPoliciesConcept<Policies, Adapted, Traits> ForwardIteratorPoliciesConcept<Policies, Adapted, Traits>
>(); >();
p.decrement(x); p.decrement(x);
std::bidirectional_iterator_tag t = iterator_category();
ignore_unused_variable_warning(t);
} }
Policies p; Policies p;
Adapted x; Adapted x;
@ -93,13 +103,16 @@ template <class Policies, class Adapted, class Traits>
struct RandomAccessIteratorPoliciesConcept struct RandomAccessIteratorPoliciesConcept
{ {
typedef typename Traits::difference_type DifferenceType; typedef typename Traits::difference_type DifferenceType;
typedef typename Traits::iterator_category iterator_category;
void constraints() { void constraints() {
function_requires< function_requires<
BidirectionalIteratorPoliciesConcept<Policies, Adapted, Traits> BidirectionalIteratorPoliciesConcept<Policies, Adapted, Traits>
>(); >();
p.advance(x, n); p.advance(x, n);
std::random_access_iterator_tag t = iterator_category();
const_constraints(); const_constraints();
ignore_unused_variable_warning(t);
} }
void const_constraints() const { void const_constraints() const {
n = p.distance(type<DifferenceType>(), x, x); n = p.distance(type<DifferenceType>(), x, x);
@ -248,7 +261,7 @@ namespace detail {
// Real version // Real version
template <class Iter, class Diff> template <class Iter, class Diff>
inline typename Iter::pointer inline void
advance_impl(Iter& i, Diff n, std::random_access_iterator_tag) { advance_impl(Iter& i, Diff n, std::random_access_iterator_tag) {
#ifdef __MWERKS__ #ifdef __MWERKS__
i.policies().advance<Iter>(i.iter(), n); i.policies().advance<Iter>(i.iter(), n);
@ -265,7 +278,7 @@ namespace detail {
// Real version // Real version
template <class Iter> template <class Iter>
inline typename Iter::pointer inline void
decrement_impl(Iter& i, std::bidirectional_iterator_tag) { decrement_impl(Iter& i, std::bidirectional_iterator_tag) {
#ifdef __MWERKS__ #ifdef __MWERKS__
i.policies().decrement<Iter>(i.iter()); i.policies().decrement<Iter>(i.iter());