[libc++] Make SFINAE'd member functions in string mutually exclusive.
authorEric Fiselier <eric@efcs.ca>
Wed, 15 Jan 2020 21:57:08 +0000 (16:57 -0500)
committerEric Fiselier <eric@efcs.ca>
Wed, 15 Jan 2020 22:00:26 +0000 (17:00 -0500)
commit24d2a015eade6e71e7c684c69510f067bdd55892
treec7bdb01c11ca9d039908081fb8af1f305cfb6648
parent8d2f252bb8e4d199be8498c4ee2245117ef08fd2
[libc++] Make SFINAE'd member functions in string mutually exclusive.

This patch is needed in order to work around a GCC bug that fails to
explicitly instantiate a non-template function of a class template when
there is another overload that's a function template.
(See https://godbolt.org/z/4bUQ_b)

This patch SFINAE's away the function templates when the argument is
a basic_string.
libcxx/include/string