, 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
)