-
-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable UTF char types (char16_t, char8_t etc.) when available #79
Comments
It is problem. And I'll explain. I have added
So basically even I tried to implement it, the support was VERY limited and never worked. That is why you just can't use Finally I think it can be safely said that there chars aren't supported and will not be in near future. Now regarding compilation. It is Boost problem in general. Virtually every non-negligible library can be binary broken with some defines (even stuff like smart pointers). Since Boost decided not to use generated headers it is impossible to do this sync without systematic policy change in Boost. It isn't Boost.Locale's problem but rather major Boost design flaw. |
If it never worked, is not expected to work and may cause problems, then let's remove that stuff. Less code to maintain, less trouble for users. |
I have no problem with it. |
Upon closer inspection and after the recent issue I think the better way forward is to enable those templates (unconditionally, i.e. remove the dependency on Additionally it also makes sense to enable As seen in #190 users may expect to simply work with "type-encoded-UTF-encoding" when they want. And it is hard to argue why e.g. |
Currently there are defines like
BOOST_LOCALE_ENABLE_CHAR16_T
to enablechar16_t
and similar for others.I find that a bit... difficult. We have
BOOST_NO_CHAR16_T
and similar to detect the availability automatically. So the defines are usually not required when that is used.And the major obstacle: The library must be build with the same value (defined / not-defined) of those
BOOST_LOCALE_ENABLE_CHAR*_T
defines or the locale facets will have undefined IDs. But there is no way to know how the library was built.Using the availability-test-macros one can assume, that if the library was built with a recent-ish compiler/standard then those types can be used.
So @artyom-beilis : Switch to using
BOOST_NO_CHAR16_T
and the like?The text was updated successfully, but these errors were encountered: