Commit Graph

159 Commits

Author SHA1 Message Date
arseny.kapoulkine
141d26d3af Minor refactoring (moved unicode utilities to anonymous namespace, moved decode functions to templated class to work around function instantiation bugs, removed optN_to_type)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@511 99668b35-9821-0410-8761-19e4c4f06640
2010-06-11 19:01:40 +00:00
arseny.kapoulkine
45a0392656 Replaced charN_t types with uintN_t (C++0x compatibility)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@504 99668b35-9821-0410-8761-19e4c4f06640
2010-06-06 19:06:15 +00:00
arseny.kapoulkine
9fa82b15f5 Optimized attribute parsing; behavior of parse_wconv changed, it now assumes that parse_eol is set
git-svn-id: http://pugixml.googlecode.com/svn/trunk@503 99668b35-9821-0410-8761-19e4c4f06640
2010-06-04 18:50:26 +00:00
arseny.kapoulkine
f9c7855143 Minor strcpy_insitu optimization for large strings, removed now redundant impl::strcpy
git-svn-id: http://pugixml.googlecode.com/svn/trunk@502 99668b35-9821-0410-8761-19e4c4f06640
2010-06-03 07:12:51 +00:00
arseny.kapoulkine
f8e9905339 Removed redundant function
git-svn-id: http://pugixml.googlecode.com/svn/trunk@491 99668b35-9821-0410-8761-19e4c4f06640
2010-06-01 06:39:55 +00:00
arseny.kapoulkine
a248138ced Constant deprecation is disabled only on old IntelC, removed deprecation warnings with appropriate define instead of disabling warning via pragma
git-svn-id: http://pugixml.googlecode.com/svn/trunk@489 99668b35-9821-0410-8761-19e4c4f06640
2010-06-01 05:40:03 +00:00
arseny.kapoulkine
1f8ba5aa60 XPath: Added check for fpclassify presence before use
git-svn-id: http://pugixml.googlecode.com/svn/trunk@488 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 17:33:55 +00:00
arseny.kapoulkine
88bdad514c XPath: Slightly optimized lexer
git-svn-id: http://pugixml.googlecode.com/svn/trunk@487 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 16:57:51 +00:00
arseny.kapoulkine
4c0e67ae92 XPath: Replaced backtracking with lookahead in absolute path parsing
git-svn-id: http://pugixml.googlecode.com/svn/trunk@485 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 16:53:13 +00:00
arseny.kapoulkine
18848ef589 Fixed DMC compilation
git-svn-id: http://pugixml.googlecode.com/svn/trunk@484 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 16:12:16 +00:00
arseny.kapoulkine
a2433c90a2 XPath: Removed separate semantics checking pass, types are verified during parsing
git-svn-id: http://pugixml.googlecode.com/svn/trunk@482 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 11:45:03 +00:00
arseny.kapoulkine
f1bfe4cc64 Simplified fp specials handling in XPath (using common faster implementation for both MSVC and BCC)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@480 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 07:56:13 +00:00
arseny.kapoulkine
51bb70cdcf Changed fp specials handling in XPath (using fpclassify/fpclass where possible, NaN generation is based on float QNaN, removed magic double constants/byte arrays)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@479 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 07:41:54 +00:00
arseny.kapoulkine
555a184f4f Fixed XPath parsing (numbers of the form \d+\. are now parsed correctly, stray colon does not act as eof token)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@476 99668b35-9821-0410-8761-19e4c4f06640
2010-05-30 20:44:15 +00:00
arseny.kapoulkine
d582a3f374 Fixed node tests for attributes
git-svn-id: http://pugixml.googlecode.com/svn/trunk@472 99668b35-9821-0410-8761-19e4c4f06640
2010-05-30 07:53:06 +00:00
arseny.kapoulkine
c436c32e6c Fixed descendant-or-self axis for attributes
git-svn-id: http://pugixml.googlecode.com/svn/trunk@468 99668b35-9821-0410-8761-19e4c4f06640
2010-05-29 22:52:40 +00:00
arseny.kapoulkine
1c567decca Fixed following:: and preceding:: axes for attribute nodes
git-svn-id: http://pugixml.googlecode.com/svn/trunk@466 99668b35-9821-0410-8761-19e4c4f06640
2010-05-29 20:11:36 +00:00
arseny.kapoulkine
d3419f2f4b Added round_nearest_nzero explanation
git-svn-id: http://pugixml.googlecode.com/svn/trunk@462 99668b35-9821-0410-8761-19e4c4f06640
2010-05-29 13:12:46 +00:00
arseny.kapoulkine
f262cbb6be XPath round() is now fully compliant
git-svn-id: http://pugixml.googlecode.com/svn/trunk@461 99668b35-9821-0410-8761-19e4c4f06640
2010-05-29 13:11:32 +00:00
arseny.kapoulkine
c3f4423e98 Very minor XPath refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@459 99668b35-9821-0410-8761-19e4c4f06640
2010-05-29 09:02:33 +00:00
arseny.kapoulkine
7e94e0c5ef Removed redundant template
git-svn-id: http://pugixml.googlecode.com/svn/trunk@457 99668b35-9821-0410-8761-19e4c4f06640
2010-05-26 05:17:13 +00:00
arseny.kapoulkine
cd9bc5fa83 Added support for Sun C++ compiler
git-svn-id: http://pugixml.googlecode.com/svn/trunk@452 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 21:46:07 +00:00
arseny.kapoulkine
75a0d2379a Updated version, updated changelog, minor Doxygen fixes
git-svn-id: http://pugixml.googlecode.com/svn/trunk@449 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 19:24:32 +00:00
arseny.kapoulkine
c88b4ca2c2 Internal charN_t types now use fixed size uintN_t types
git-svn-id: http://pugixml.googlecode.com/svn/trunk@448 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 17:27:29 +00:00
arseny.kapoulkine
6e2521830f Optimized utf8 decoding
git-svn-id: http://pugixml.googlecode.com/svn/trunk@447 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 16:50:03 +00:00
arseny.kapoulkine
1046fe1f7b Optimized utf8 -> wchar_t conversion, replaced assert with static assert
git-svn-id: http://pugixml.googlecode.com/svn/trunk@446 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 13:47:37 +00:00
arseny.kapoulkine
ece9147611 Changed memory management so that the document node lives inside document; this way a default-constructed document does not allocate any dynamic memory
git-svn-id: http://pugixml.googlecode.com/svn/trunk@445 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 07:55:44 +00:00
arseny.kapoulkine
4e05568c4d Fixed BCC and MSVC6 compilation
git-svn-id: http://pugixml.googlecode.com/svn/trunk@444 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 07:54:36 +00:00
arseny.kapoulkine
7c01cf8df3 Nodes/attributes with empty names now are printed as :anonymous
git-svn-id: http://pugixml.googlecode.com/svn/trunk@441 99668b35-9821-0410-8761-19e4c4f06640
2010-05-21 05:50:53 +00:00
arseny.kapoulkine
e31d977c80 Optimized debug mode parsing/saving by order of magnitude
git-svn-id: http://pugixml.googlecode.com/svn/trunk@440 99668b35-9821-0410-8761-19e4c4f06640
2010-05-20 22:15:23 +00:00
arseny.kapoulkine
4c7d82fa5b More compare_eq/rel refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@439 99668b35-9821-0410-8761-19e4c4f06640
2010-05-20 22:11:19 +00:00
arseny.kapoulkine
ba1b2017db as_* functions now all use strto*/wcsto* functions; this unifies the behavior and fixes large unsigned integer parsing in as_uint
git-svn-id: http://pugixml.googlecode.com/svn/trunk@438 99668b35-9821-0410-8761-19e4c4f06640
2010-05-20 20:35:49 +00:00
arseny.kapoulkine
1f5be930d0 Assume that all compilers (except Microsoft) have stdint.h
git-svn-id: http://pugixml.googlecode.com/svn/trunk@437 99668b35-9821-0410-8761-19e4c4f06640
2010-05-20 20:18:59 +00:00
arseny.kapoulkine
31c4cb2d8b XPath refactoring (ast_filter/filter_posinv/predicates use the same function, removed greater* specializations for compare_rel, starts_with is used more extensively, const-correctness fixes)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@425 99668b35-9821-0410-8761-19e4c4f06640
2010-05-17 06:54:06 +00:00
arseny.kapoulkine
697a5de5db Fixed GCC build
git-svn-id: http://pugixml.googlecode.com/svn/trunk@419 99668b35-9821-0410-8761-19e4c4f06640
2010-05-12 21:36:22 +00:00
arseny.kapoulkine
544a527abd Fixed incorrect allocator pointer in pages during parsing
git-svn-id: http://pugixml.googlecode.com/svn/trunk@415 99668b35-9821-0410-8761-19e4c4f06640
2010-05-11 06:55:07 +00:00
arseny.kapoulkine
157f720e12 Various test compilation fixes
git-svn-id: http://pugixml.googlecode.com/svn/trunk@414 99668b35-9821-0410-8761-19e4c4f06640
2010-05-10 21:36:05 +00:00
arseny.kapoulkine
7bda2cb529 Implemented better DOCTYPE parsing, added more DOCTYPE tests
git-svn-id: http://pugixml.googlecode.com/svn/trunk@409 99668b35-9821-0410-8761-19e4c4f06640
2010-05-10 19:15:44 +00:00
arseny.kapoulkine
a6dc5ff70b Optimized memory consumption (removed last_child and last_attribute, sibling/attribute lists are now one-way cyclic)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@405 99668b35-9821-0410-8761-19e4c4f06640
2010-05-10 16:38:22 +00:00
arseny.kapoulkine
4a90b861d9 Minor allocation refactoring and optimization
git-svn-id: http://pugixml.googlecode.com/svn/trunk@404 99668b35-9821-0410-8761-19e4c4f06640
2010-05-10 14:58:28 +00:00
arseny.kapoulkine
9441757ef6 Internal iterator constructors are now private, added empty document test
git-svn-id: http://pugixml.googlecode.com/svn/trunk@403 99668b35-9821-0410-8761-19e4c4f06640
2010-05-10 13:31:38 +00:00
arseny.kapoulkine
14bda69d0d Optimized xml_document::destroy
git-svn-id: http://pugixml.googlecode.com/svn/trunk@402 99668b35-9821-0410-8761-19e4c4f06640
2010-05-10 12:21:51 +00:00
arseny.kapoulkine
47c23efe62 Reworked DOM memory allocation scheme (name/value allocations use the same pages as node/attribute structures, pages are now deallocated when completely free)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@401 99668b35-9821-0410-8761-19e4c4f06640
2010-05-10 08:59:48 +00:00
arseny.kapoulkine
5ff56a6d68 Removed document order optimization (it helps on a tiny percentage of queries), XPath tests now compute their own order
git-svn-id: http://pugixml.googlecode.com/svn/trunk@400 99668b35-9821-0410-8761-19e4c4f06640
2010-05-09 20:37:49 +00:00
arseny.kapoulkine
464d0f4ff9 Added empty stream/buffer tests, fixed null buffer parsing in wchar_t mode
git-svn-id: http://pugixml.googlecode.com/svn/trunk@397 99668b35-9821-0410-8761-19e4c4f06640
2010-05-09 17:53:59 +00:00
arseny.kapoulkine
427714178e Minor loading functions refactoring, fixed XPath append_node for MSVC10
git-svn-id: http://pugixml.googlecode.com/svn/trunk@395 99668b35-9821-0410-8761-19e4c4f06640
2010-05-09 17:25:35 +00:00
arseny.kapoulkine
3a9d992883 Removed std::string and contents_push from XPath parsing
git-svn-id: http://pugixml.googlecode.com/svn/trunk@393 99668b35-9821-0410-8761-19e4c4f06640
2010-05-09 10:20:17 +00:00
arseny.kapoulkine
664638059a Minor coverage improvements
git-svn-id: http://pugixml.googlecode.com/svn/trunk@392 99668b35-9821-0410-8761-19e4c4f06640
2010-05-08 21:35:42 +00:00
arseny.kapoulkine
8b6be5c02e Don't use global no-deprecate switch for newer GCC/MinGW, fixed warnings because of deprecation
git-svn-id: http://pugixml.googlecode.com/svn/trunk@390 99668b35-9821-0410-8761-19e4c4f06640
2010-05-08 20:36:20 +00:00
arseny.kapoulkine
6706a3f8ba Deprecated all wildcard functions and parse_wnorm_attribute
git-svn-id: http://pugixml.googlecode.com/svn/trunk@389 99668b35-9821-0410-8761-19e4c4f06640
2010-05-08 20:30:29 +00:00