Add C++17 deduction guide for std::basic_string (P0433R2, partial)
commitc2b91adce4aaeed1ef790be724bed37710741c00
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Jun 2017 12:35:08 +0000 (7 12:35 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Jun 2017 12:35:08 +0000 (7 12:35 +0000)
tree0f22f2af42472dd70d75cabfe787c5fde2239805
parent907b83ae15c469a3309f8df648afbc8ceb353471
Add C++17 deduction guide for std::basic_string (P0433R2, partial)

* include/bits/alloc_traits.h (__is_allocator, _RequireAllocator):
New trait and alias for detecting Allocator-like types.
* include/bits/basic_string.h (basic_string): Add deduction guide
from P0433.
* include/ext/alloc_traits.h (__gnu_cxx::__alloc_traits): Add template
parameter with default template argument that causes substitution
failures for types that cannot be allocators.
* testsuite/21_strings/basic_string/cons/char/deduction.cc: New.
* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248967 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/alloc_traits.h
libstdc++-v3/include/bits/basic_string.h
libstdc++-v3/include/ext/alloc_traits.h
libstdc++-v3/testsuite/21_strings/basic_string/cons/char/deduction.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc [new file with mode: 0644]