Opened 9 years ago
Closed 5 years ago
#8763 closed Bugs (wontfix)
format does not compile with char16_t strings and libc++
| Reported by: | timblechmann | Owned by: | James E. King, III |
|---|---|---|---|
| Milestone: | Boost 1.66.0 | Component: | format |
| Version: | Boost 1.54.0 | Severity: | Problem |
| Keywords: | Cc: |
Description
the following code does not compile with clang:
#include <boost/format.hpp>
int main(int argc, const char * argv[])
{
std::basic_string<char16_t> abc = (boost::basic_format<char16_t>(u"Hello")).str();
return 0;
}
the reason is that libc++ does not provide std::ctype<char16_t>, as it is not provided by the standard.
Change History (3)
comment:1 by , 5 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
comment:2 by , 5 years ago
| Milestone: | To Be Determined → Boost 1.66.0 |
|---|
comment:3 by , 5 years ago
| Resolution: | → wontfix |
|---|---|
| Status: | assigned → closed |
Note:
See TracTickets
for help on using tickets.

This is not a Boost.Format concern. Implementations are not required to provide
std::ctype<char16_t>. This failure also happens with libstdc++ 6.3.0, for example.For more information, see:
https://stackoverflow.com/questions/28360223/gcc-stdctype-specialisation-streams https://stackoverflow.com/questions/41315675/why-does-stdbasic-ifstreamchar16-t-not-work-in-c11