<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/143694>143694</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[libc++] `basic_string_view` is exposed and depended by `bitset` before C++17
</td>
</tr>
<tr>
<th>Labels</th>
<td>
question,
libc++
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
frederick-vs-ja
</td>
</tr>
</table>
<pre>
Enabling `basic_string_view` before C++17 seems to be an intended extension but doesn't seem documented. I'm not sure whether we should provide a more pedantic option to disable it before C++17.
Also, libc++'s `bitset` depends on `basic_string_view` before C++17. It's possibly better (for the purpose of throughput) to avoid such dependency by decompose the `basic_string_view` parameter of `__init_from_string_view` into pointer and size. Should we make such change?
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMUs9uozwQfxpzGQXBAEk5cEjbL1LP3wNENh7ALdisZ0iaffoVNNJ2u6q0Jx8885vfP83sek_UqOpRVc-JXmQIsekiWYqufdtdePeqExPsrfnPazM634PaZ0aza88s0fn-fHF0VfsMDHUhEjwpfFT4mB-AiSYGCWAItAfnhbwlC_Qu5NkFD2YRsIHYKzzINg82tMtEXsim8KLwMIEPArxEgutAMlCEKwEPYRktzDFcnCXQMK2nZ7Lai2shzLLCSwDrWJuRwMlf_FKVHVV2PI4cFD7B6Ez78aXwwJtKJ0yySrM0k7cMwf-z-hReZAOaA7Mz4w0MiVAEhQ9diCADwbzEOTBB6ECGGJZ-mBdRWK_E9SU4C7y0w_06-fYG5gaW2jBtayvEd3RmHfVE673QrUPns_NOzl0M09dR5yXAHNZ4Imhvgd1PSuH_D4uvBJN-ow8m7aB9T6o4JbYpbF3UOqEmP5T1vqwKrJOhyduiLuvsoLFGne_rGqva5oawMK0uS5O4BjOssn2e51hU-JC2Wbavqvyhq6gqq7xWZUaTdmM6jpcpDbFPHPNCTV4W-7pMRm1o5K2wiD8W4jVphajwSSF-DhHXRsdmhdmZpWdVZqNj4d_A4mTcuv9prXr-1lPHQO-r83az6R6LXUP5oy1fq5AscWwGkZlVcVR4UnjqnQyLSdswKTytfO7Pbo7hlVpReNpUs8LTXfilwV8BAAD___KcNTs">