llvm-project/libcxx/include/experimental
Eric Fiselier be71d336bd Implement LWG2989: path's streaming operators allow everything under the sun.
Because path can be constructed from a ton of different types, including string
and wide strings, this caused it's streaming operators to suck up all sorts
of silly types via silly conversions. For example:

using namespace std::experimental::filesystem::v1;
std::wstring w(L"wide");
std::cout << w; // converts to path.

This patch tentatively adopts the resolution to LWG2989 and fixes the issue
by making the streaming operators friends of path.

llvm-svn: 324189
2018-02-04 03:10:53 +00:00
..
__config Add <experimental/coroutine> 2017-05-25 04:36:24 +00:00
__memory Add <experimental/memory_resource> 2016-05-07 01:04:55 +00:00
algorithm Remove std::experimental::sample; use std::sample instead. See https://libcxx.llvm.org/TS_deprecation.html 2018-02-01 16:36:08 +00:00
any Remove <experimental/any>; use <any> instead. See https://libcxx.llvm.org/TS_deprecation.html 2018-02-01 15:21:14 +00:00
chrono Define a new macro: _LIBCPP_HAS_NO_VARIABLE_TEMPLATES and use it. No functionality change. 2015-03-17 15:30:22 +00:00
coroutine Allow coroutine_handle<const T> to support creation from const references to the promise_type 2017-06-16 00:36:17 +00:00
deque Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
dynarray [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
filesystem Implement LWG2989: path's streaming operators allow everything under the sun. 2018-02-04 03:10:53 +00:00
forward_list Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
functional [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
iterator Rename identifiers named `__output` 2017-11-14 11:14:25 +00:00
list Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
map Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
memory_resource [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
numeric Remove <experimental/numeric>; use <numeric> instead. See https://libcxx.llvm.org/TS_deprecation.html 2018-02-01 15:49:27 +00:00
optional Remove <experimental/optional>; use <optional> instead. See https://libcxx.llvm.org/TS_deprecation.html 2018-02-01 14:54:25 +00:00
propagate_const Move _LIBCPP_INLINE_VISIBILITY to first declaration in <propagate_const> 2016-09-16 02:16:23 +00:00
ratio Fixed an 'extra tokens at end of #endif directive' warning in experimental/ratio 2015-04-23 16:45:08 +00:00
regex Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
set Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
string Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
string_view [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
system_error Define a new macro: _LIBCPP_HAS_NO_VARIABLE_TEMPLATES and use it. No functionality change. 2015-03-17 15:30:22 +00:00
tuple Add 'is_callable' and 'is_nothrow_callable' traits and cleanup INVOKE. 2016-04-20 00:14:32 +00:00
type_traits [NFC] Rename _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VIS 2017-01-04 23:56:00 +00:00
unordered_map Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
unordered_set Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
utility [NFC] Rename _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VIS 2017-01-04 23:56:00 +00:00
vector Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00