Commit Graph

11 Commits

Author SHA1 Message Date
Nico Rieck
b2de8c92c2 Add char8_t mode
char8 mode, enabled using the PUGIXML_CHAR8_MODE macro, uses C++20 char8_t
instead of char for the UTF-8 interface. This makes use of pugixml safer
when char is otherwise used for the system codepage.

Stream-based methods received an additional overload, since the char
overload may be used to represent arbitrary bytes, and the char8_t overload
may be used by string streams.

An additional typedef u8char_t, which represents the type pugixml uses for
a UTF-8 code unit, was added for the conversion functions.

Most changes had to be done in the test code. Representing raw bytes as
string literals does not work for UTF-8 literals, since hex escape codes
are interpreted as a Unicode character. Affected places either received a
branch with a u8 literal or use a new RAW() macro which smuggles in UTF-8
code points using chars.
2022-11-01 23:50:33 +01:00
Arseny Kapoulkine
5867aff943 tests: Make using namespace more explicit
Hiding using namespace in common.hpp is somewhat surprising so remove
common.hpp and move using namespace into all .cpp files that need it.
2017-06-22 20:41:08 -07:00
arseny.kapoulkine@gmail.com
04629118db tests: Android compilation fixes
git-svn-id: http://pugixml.googlecode.com/svn/trunk@846 99668b35-9821-0410-8761-19e4c4f06640
2012-03-06 08:49:58 +00:00
arseny.kapoulkine@gmail.com
fdc03d39ab tests: Fixed compilation errors for BadaSDK
git-svn-id: http://pugixml.googlecode.com/svn/trunk@839 99668b35-9821-0410-8761-19e4c4f06640
2012-03-06 06:13:10 +00:00
arseny.kapoulkine
a590a69bda Minor UTF8 conversion refactoring, added as_utf8 and as_wide overloads with string arguments
git-svn-id: http://pugixml.googlecode.com/svn/trunk@749 99668b35-9821-0410-8761-19e4c4f06640
2010-09-22 19:05:31 +00:00
arseny.kapoulkine
7d24b9b565 Set svn:eol-style to native for all text files
git-svn-id: http://pugixml.googlecode.com/svn/trunk@607 99668b35-9821-0410-8761-19e4c4f06640
2010-07-19 09:57:32 +00:00
arseny.kapoulkine
f542c5ebb8 Integrated changes from unicode branch to trunk
git-svn-id: http://pugixml.googlecode.com/svn/trunk@383 99668b35-9821-0410-8761-19e4c4f06640
2010-05-06 20:28:36 +00:00
arseny.kapoulkine
5346828488 tests: Minor fixes, added autotest script
git-svn-id: http://pugixml.googlecode.com/svn/trunk@196 99668b35-9821-0410-8761-19e4c4f06640
2009-10-30 20:06:00 +00:00
arseny.kapoulkine
fc602fd375 tests: Supported all pugixml compilation modes
git-svn-id: http://pugixml.googlecode.com/svn/trunk@191 99668b35-9821-0410-8761-19e4c4f06640
2009-10-29 07:17:30 +00:00
arseny.kapoulkine
9216c82cfd tests: Fixed MSVC warnings/errors
git-svn-id: http://pugixml.googlecode.com/svn/trunk@185 99668b35-9821-0410-8761-19e4c4f06640
2009-10-28 20:08:19 +00:00
arseny.kapoulkine
0ceaa38aeb tests: Added forgotten test files
git-svn-id: http://pugixml.googlecode.com/svn/trunk@168 99668b35-9821-0410-8761-19e4c4f06640
2009-10-20 21:39:43 +00:00