summaryrefslogtreecommitdiff
path: root/src/pugixml.hpp
diff options
context:
space:
mode:
authorArseny Kapoulkine <arseny.kapoulkine@gmail.com>2014-10-01 07:02:45 +0000
committerArseny Kapoulkine <arseny.kapoulkine@gmail.com>2014-10-01 07:02:45 +0000
commit89d19df43df8e7962bcf896a528d3214a3c28bbc (patch)
treee7d0a24bc1e44a890d9ada65fc9c132a4e945bd3 /src/pugixml.hpp
parent0c1a4f40feeb76ff4e22f20e7c2d7afb65cc88fc (diff)
Add header bit for 'name or value is shared' flag
This is required to make it possible to use a pointer to one of the buffers with the document data in nodes but keep offset_debug and (more importantly) XPath document order comparison optimization working. The change increases memory page alignment to 64 bytes (so requires +32 bytes for every page allocation, which should not be a problem - even with non-default 4k pages this is <1% extra cost, with default 32k pages the overhead is 0.1%) git-svn-id: https://pugixml.googlecode.com/svn/trunk@1031 99668b35-9821-0410-8761-19e4c4f06640
Diffstat (limited to 'src/pugixml.hpp')
-rw-r--r--src/pugixml.hpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/pugixml.hpp b/src/pugixml.hpp
index 69b2cb2..ba480cd 100644
--- a/src/pugixml.hpp
+++ b/src/pugixml.hpp
@@ -926,7 +926,8 @@ namespace pugi
private:
char_t* _buffer;
- char _memory[192];
+ // sizeof(xml_memory_page) + sizeof(xml_document_struct) + xml_memory_page_alignment + 1 void* in case compiler inserts padding
+ char _memory[sizeof(void*) * 20 + 64];
// Non-copyable semantics
xml_document(const xml_document&);