// (C) Copyright David Abrahams 2002.
// (C) Copyright Jeremy Siek 2002.
// (C) Copyright Thomas Witt 2002.
-// Permission to copy, use, modify,
-// sell and distribute this software is granted provided this
-// copyright notice appears in all copies. This software is provided
-// "as is" without express or implied warranty, and with no claim as
-// to its suitability for any purpose.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_FILTER_ITERATOR_23022003THW_HPP
#define BOOST_FILTER_ITERATOR_23022003THW_HPP
, typename mpl::if_<
is_convertible<
typename iterator_traversal<Iterator>::type
- , bidirectional_traversal_tag
+ , random_access_traversal_tag
>
- , forward_traversal_tag
+ , bidirectional_traversal_tag
, use_default
>::type
> type;
public:
filter_iterator() { }
- filter_iterator(Predicate f, Iterator x, Iterator end = Iterator())
- : super_t(x), m_predicate(f), m_end(end)
+ filter_iterator(Predicate f, Iterator x, Iterator end_ = Iterator())
+ : super_t(x), m_predicate(f), m_end(end_)
{
satisfy_predicate();
}
- filter_iterator(Iterator x, Iterator end = Iterator())
- : super_t(x), m_predicate(), m_end(end)
+ filter_iterator(Iterator x, Iterator end_ = Iterator())
+ : super_t(x), m_predicate(), m_end(end_)
{
// Pro8 is a little too aggressive about instantiating the
// body of this function.
, Iterator
>::type x
, Iterator end = Iterator()
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1200)
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
, Predicate* = 0
#endif
)