Continuing to eliminate no-longer-needed uses of _LIBCPP_CXX03_LANG.
Differential Revision: https://reviews.llvm.org/D104725
return __is;
}
-#ifndef _LIBCPP_CXX03_LANG
-
template <class _Stream, class _Tp, class = void>
struct __is_istreamable : false_type { };
template <class _Stream, class _Tp, class = typename enable_if<
_And<is_base_of<ios_base, _Stream>,
- __is_istreamable<_Stream&, _Tp&&>>::value
+ __is_istreamable<_Stream&, _Tp&&> >::value
>::type>
_LIBCPP_INLINE_VISIBILITY
_Stream&& operator>>(_Stream&& __is, _Tp&& __x)
return _VSTD::move(__is);
}
-#endif // _LIBCPP_CXX03_LANG
-
template <class _CharT, class _Traits>
class _LIBCPP_TEMPLATE_VIS basic_iostream
: public basic_istream<_CharT, _Traits>,
return __os;
}
-#ifndef _LIBCPP_CXX03_LANG
-
template <class _Stream, class _Tp, class = void>
struct __is_ostreamable : false_type { };
template <class _Stream, class _Tp, class = typename enable_if<
_And<is_base_of<ios_base, _Stream>,
- __is_ostreamable<_Stream&, const _Tp&>>::value
+ __is_ostreamable<_Stream&, const _Tp&> >::value
>::type>
_LIBCPP_INLINE_VISIBILITY
_Stream&& operator<<(_Stream&& __os, const _Tp& __x)
return _VSTD::move(__os);
}
-#endif // _LIBCPP_CXX03_LANG
-
template<class _CharT, class _Traits, class _Allocator>
basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __os,
//
//===----------------------------------------------------------------------===//
-// UNSUPPORTED: c++03
-
// Make sure the rvalue overload of operator>> isn't part of the overload set
// when the type is not input streamable from a lvalue stream.
//
//===----------------------------------------------------------------------===//
-// UNSUPPORTED: c++03
-
// <istream>
// template <class Stream, class T>
// test perfect forwarding
assert(called == false);
std::istringstream ss;
- std::istringstream&& result = (std::move(ss) >> A{});
+ std::istringstream&& result = (std::move(ss) >> A());
assert(&result == &ss);
assert(called);
}
//
//===----------------------------------------------------------------------===//
-// UNSUPPORTED: c++03
-
// Make sure the rvalue overload of operator<< isn't part of the overload set
// when the type is not output streamable into a lvalue stream.
//
//===----------------------------------------------------------------------===//
-// UNSUPPORTED: c++03
-
// <ostream>
// template <class Stream, class T>