summaryrefslogtreecommitdiffstats
path: root/Source/cm_codecvt.hxx
Commit message (Collapse)AuthorAgeFilesLines
* cm_codecvt: Tell IWYU to keep cmConfigure.hBrad King2017-09-151-1/+1
| | | | | We no longer need it explicitly for `CM_OVERRIDE`, but we still need to include it first everywhere.
* Use C++11 override instead of CM_OVERRIDEBrad King2017-09-151-6/+6
| | | | | | | | We now require C++11 support including `override`. Drop use of the old compatibility macro. Convert references as follows: git grep -l CM_OVERRIDE -- '*.h' '*.hxx' '*.cxx' | xargs sed -i 's/CM_OVERRIDE/override/g'
* codecvt: Re-implement do_out and do_unshiftBrad King2017-05-251-10/+18
| | | | | | | | | | | | | The previous implementation assumed that only one byte would be given in the `from` buffer by the caller at a time. This may be true for MSVC but is not for the GNU library on Windows. Re-implement these methods to handle more than one byte per call. Also simplify the state management by keeping all state between calls directly in the `mbstate_t` argument instead of using it to index our own heap-allocated state. Fixes: #16893
* Use quotes for non-system includesDaniel Pfeifer2017-04-111-1/+1
| | | | | | | | | | | | | Automate with: git grep -l '#include <cm_' -- Source \ | xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g' git grep -l '#include <cmsys/' -- Source \ | xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g' git grep -l '#include <cm[A-Z]' -- Source \ | xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
* Fix several include-what-you-use findingsDaniel Pfeifer2016-11-081-1/+2
|
* codecvt: Add class for encoding conversionDāvis Mosāns2016-10-061-0/+57
Add a `codecvt` class that can be used as facet for locale so that it's possible to convert from internal UTF-8 encoding to other encodings such as Windows ANSI codepage.