summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2012-11-18XPath stack optimization: Reduce convert_number_to_string stack usage by ↵arseny.kapoulkine@gmail.com
reducing mantissa_buffer size and filling resulting string on heap without an extra copy from stack. git-svn-id: http://pugixml.googlecode.com/svn/trunk@933 99668b35-9821-0410-8761-19e4c4f06640
2012-11-18XPath: Fix BCC/DMC compilation (overloading workaround)arseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@932 99668b35-9821-0410-8761-19e4c4f06640
2012-11-18XPath stack optimization: Rewrite part of the recursive descent parser to ↵arseny.kapoulkine@gmail.com
precedence climbing to reduce stack usage git-svn-id: http://pugixml.googlecode.com/svn/trunk@931 99668b35-9821-0410-8761-19e4c4f06640
2012-11-17XPath stack optimization: Reduce stack usage during parsing by sharing ↵arseny.kapoulkine@gmail.com
scratch buffer for variable/number parsing (we only need one per parser) git-svn-id: http://pugixml.googlecode.com/svn/trunk@928 99668b35-9821-0410-8761-19e4c4f06640
2012-11-17Fix PUGIXML_MEMORY_* constants for header-only modearseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@927 99668b35-9821-0410-8761-19e4c4f06640
2012-11-08Fix undefined pointer arithmetic for reverse() and unique() in case the ↵arseny.kapoulkine@gmail.com
range is empty (begin == end) git-svn-id: http://pugixml.googlecode.com/svn/trunk@926 99668b35-9821-0410-8761-19e4c4f06640
2012-10-31Minor refactoringarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@923 99668b35-9821-0410-8761-19e4c4f06640
2012-10-31Adjust parsing so that it is possible to parse a document fragment into an ↵arseny.kapoulkine@gmail.com
existing subtree; can be used to implement append_buffer. git-svn-id: http://pugixml.googlecode.com/svn/trunk@922 99668b35-9821-0410-8761-19e4c4f06640
2012-09-29Fix find_child_by_attribute assertion for attributes with null name/value.arseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@920 99668b35-9821-0410-8761-19e4c4f06640
2012-08-02Add xml_object_range::iterator to work around Boost.ForEach errors without ↵arseny.kapoulkine@gmail.com
BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION feature (i.e. SunCC 12). Fixes issue 164. git-svn-id: http://pugixml.googlecode.com/svn/trunk@919 99668b35-9821-0410-8761-19e4c4f06640
2012-06-28Add PUGIXML_CLASS to xml_named_node_iterator to make dllexport possible. ↵arseny.kapoulkine@gmail.com
Fixes issue 161. git-svn-id: http://pugixml.googlecode.com/svn/trunk@917 99668b35-9821-0410-8761-19e4c4f06640
2012-05-02Iterator improvements: safety assertions in xml_named_node_iterator, ↵v1.2arseny.kapoulkine@gmail.com
const_cast workaround for BCC32 bug git-svn-id: http://pugixml.googlecode.com/svn/trunk@915 99668b35-9821-0410-8761-19e4c4f06640
2012-04-12Removed diag_push for SNC since the warning bug is not fixed even in the ↵arseny.kapoulkine@gmail.com
latest version git-svn-id: http://pugixml.googlecode.com/svn/trunk@901 99668b35-9821-0410-8761-19e4c4f06640
2012-04-03Updated version number and copyright year everywherearseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@897 99668b35-9821-0410-8761-19e4c4f06640
2012-04-03Whitespace-only change: set noexpandtab & retab!arseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@896 99668b35-9821-0410-8761-19e4c4f06640
2012-04-03Fixed xml_named_node_iterator category for MSVC6/7, IC8 and SunCCarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@895 99668b35-9821-0410-8761-19e4c4f06640
2012-04-03Added xml_attribute::as_string and xml_text::as_string, added default value ↵arseny.kapoulkine@gmail.com
to all as_* member functions git-svn-id: http://pugixml.googlecode.com/svn/trunk@893 99668b35-9821-0410-8761-19e4c4f06640
2012-03-27xml_object_range now supports Boost.ForEacharseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@890 99668b35-9821-0410-8761-19e4c4f06640
2012-03-27Introduced xml_named_node_iterator, introduced xml_node::children() and ↵arseny.kapoulkine@gmail.com
xml_node::attributes() for C++11 range-based for loop git-svn-id: http://pugixml.googlecode.com/svn/trunk@889 99668b35-9821-0410-8761-19e4c4f06640
2012-03-27Write BOM as U+FEFF to buffered writer; this makes sure we don't have a very ↵arseny.kapoulkine@gmail.com
small unbuffered write with custom writer implementations git-svn-id: http://pugixml.googlecode.com/svn/trunk@887 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23Added format_save_file_text flag for opening the file in text modearseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@883 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23Fixed header-only compilationarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@882 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23xml_document::save_file now checks for file I/O errors, fixed compilationarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@881 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23Extracted file saving into a separate function, fixed DMC compilation ↵arseny.kapoulkine@gmail.com
(set_value_buffer cast error) git-svn-id: http://pugixml.googlecode.com/svn/trunk@880 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23Const-correctness 'fixes' (it's impossible to be const-correct here so ↵arseny.kapoulkine@gmail.com
remove redundant member) git-svn-id: http://pugixml.googlecode.com/svn/trunk@879 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23Fixed member shadowing warnings for gccarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@878 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23Added xml_text::data() (for regular xml_node operations, i.e. remove_child)arseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@876 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23Added xml_text &&/|| operators for Borland C++arseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@874 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23Moved default value selection logic into get_value functions, added ↵arseny.kapoulkine@gmail.com
xml_node::text() accessor git-svn-id: http://pugixml.googlecode.com/svn/trunk@873 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23Implemented xml_text helper (work in progress)arseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@872 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23Extracted xml_attribute value setter/getter code to separate functions (for ↵arseny.kapoulkine@gmail.com
xml_text) git-svn-id: http://pugixml.googlecode.com/svn/trunk@871 99668b35-9821-0410-8761-19e4c4f06640
2012-03-20Reverted accidental submitarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@870 99668b35-9821-0410-8761-19e4c4f06640
2012-03-20Fixed strict aliasing violation warning in output buffer conversion via ↵arseny.kapoulkine@gmail.com
union. Fixed BlackBerry NDK -O3 compilation in header-only wchar mode. git-svn-id: http://pugixml.googlecode.com/svn/trunk@869 99668b35-9821-0410-8761-19e4c4f06640
2012-03-20STL forward declaration experiment failed; revert to using STL headers. ↵arseny.kapoulkine@gmail.com
Reasons: bugs in old compilers (i.e. SunCC, DMC, BCC require using the same names in forward declarations as in actual declarations), incompatibility between buggy compilers and different STL versions (i.e. SunCC has two STL versions with mismatching names), problems with C++0x inline namespaces (used in Clang libc++, see http://llvm.org/bugs/show_bug.cgi?id=5590), and this is an undefined behavior so other problems may come up. git-svn-id: http://pugixml.googlecode.com/svn/trunk@868 99668b35-9821-0410-8761-19e4c4f06640
2012-03-20MinGW does not have _wfopen in strict ANSI mode (fixes mingw45 C++0x ↵arseny.kapoulkine@gmail.com
compilation) git-svn-id: http://pugixml.googlecode.com/svn/trunk@867 99668b35-9821-0410-8761-19e4c4f06640
2012-03-20Explicitly ignore fwrite result - nothing else can be done with the current ↵arseny.kapoulkine@gmail.com
writer interface, unfortunately git-svn-id: http://pugixml.googlecode.com/svn/trunk@866 99668b35-9821-0410-8761-19e4c4f06640
2012-03-20Fixed Borland C++ issues when compiling pugixml as header-onlyarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@864 99668b35-9821-0410-8761-19e4c4f06640
2012-03-15Intel C++ 11 has the same warning pop bug... Disable warning popping on all ↵arseny.kapoulkine@gmail.com
Intel C++ versions. Fixes Intel C++ 11 compilation in PUGIXML_NO_STL mode. git-svn-id: http://pugixml.googlecode.com/svn/trunk@862 99668b35-9821-0410-8761-19e4c4f06640
2012-03-14Added PUGIXML_MEMORY constants for tweaking memory behaviour; useful for ↵arseny.kapoulkine@gmail.com
embedded systems or for unusual cases (i.e. thousands of small documents in memory) git-svn-id: http://pugixml.googlecode.com/svn/trunk@860 99668b35-9821-0410-8761-19e4c4f06640
2012-03-14Dereferemce operators in both iterators are now const; this fixes iterator ↵arseny.kapoulkine@gmail.com
compatibility with parts of Boost Iterator (i.e. filter_iterator). It is now possible to damage the state of const_iterator by directly mutating internal handle - working around that introduces additional performance penalties and is generally extremely unlikely to be useful - constant iterator objects are rarely used. git-svn-id: http://pugixml.googlecode.com/svn/trunk@858 99668b35-9821-0410-8761-19e4c4f06640
2012-03-14Different versions of RWSTL have different headers; revert the previous ↵arseny.kapoulkine@gmail.com
change and instead introduce PUGIXML_NO_STL_FWDDECL macro (that disables forward declaration of STL classes, which is not compliant). git-svn-id: http://pugixml.googlecode.com/svn/trunk@857 99668b35-9821-0410-8761-19e4c4f06640
2012-03-14Fixed SunCC compilation when using RWSTL instead of STLport; should fix ↵arseny.kapoulkine@gmail.com
issue 101. git-svn-id: http://pugixml.googlecode.com/svn/trunk@856 99668b35-9821-0410-8761-19e4c4f06640
2012-03-14Implemented optional header-only mode (still need to do a couple of fixes ↵arseny.kapoulkine@gmail.com
for rare compilers, but it seems to work on the majority of configurations). Tests work in header-only mode, but testing is not enabled yet (still a bit more work to be done, and compiling header-only tests is up to 4 times slower, so we can't test more than one-two configurations per toolset) git-svn-id: http://pugixml.googlecode.com/svn/trunk@855 99668b35-9821-0410-8761-19e4c4f06640
2012-03-10Fixed clang warningarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@854 99668b35-9821-0410-8761-19e4c4f06640
2012-03-06Fixed clang compilation warningarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@849 99668b35-9821-0410-8761-19e4c4f06640
2012-03-06Fix 'cast increases required alignment of target type' warning for ↵arseny.kapoulkine@gmail.com
BlackBerry NDK in PUGIXML_WCHAR_MODE (wchar_t is 4 bytes) git-svn-id: http://pugixml.googlecode.com/svn/trunk@842 99668b35-9821-0410-8761-19e4c4f06640
2012-03-06Fix 'cast increases required alignment of target type' warnings (some of ↵arseny.kapoulkine@gmail.com
them are fixed by handling different wchar_t sizes through overloading, others - by casting to void* since we know the alignment restrictions are not violated) git-svn-id: http://pugixml.googlecode.com/svn/trunk@838 99668b35-9821-0410-8761-19e4c4f06640
2012-03-06Removed setjmp from XML parsing; now pugixml does not require setjmp support ↵arseny.kapoulkine@gmail.com
(unless XPath is compiled in with PUGIXML_NO_EXCEPTIONS). Should improve compatibility with certain platforms (also makes pugixml clr:pure-compatible) git-svn-id: http://pugixml.googlecode.com/svn/trunk@837 99668b35-9821-0410-8761-19e4c4f06640
2012-02-19Define uintptr_t for WinCE if necessary (thankfully all MSVC versions seem ↵arseny.kapoulkine@gmail.com
to define _UINTPTR_T_DEFINED appropriately) git-svn-id: http://pugixml.googlecode.com/svn/trunk@833 99668b35-9821-0410-8761-19e4c4f06640
2011-12-20Introduced encoding_latin1 support (conversion on loading, conversion on ↵arseny.kapoulkine
saving, encoding name in declaration in document::save) git-svn-id: http://pugixml.googlecode.com/svn/trunk@829 99668b35-9821-0410-8761-19e4c4f06640