0e1abc34608b321d08a782eab99d9da9cd3699c4 48834 |
|
03-Oct-2013 |
vboxsync |
iprt/xml: Added more convenience methods and did more cleanup work, the latter reducing aimed at removing boost and reducing the number of allocations and their sizes. Changed the tree building code to be non-recursive. Attributes and child lists moved from Node to ElementNode, as only elements have them (in or simplified model at least). Dropped the attribute map in favor of a doubly linked list, doubt there will be any performance issue here even with 15-20 attributes (besides element lookup is list based). Also dropped the 'Node::m' member that pointed to a couple of obscure internal members (attribute and child collections), no longer needed. |
9033fe9eb36bf5df4f899338743e1259042c71a6 48781 |
|
01-Oct-2013 |
vboxsync |
iprt/list.h,xml.h: Because of gcc, we need a C++ version of a bunch of the RTListXxx macros that uses RT_FROM_CPP_MEMBER instead of RT_FROM_MEMBER. I don't dare speculate on the compilers optimizing the two macros in the same way, thus two sets of macros. |
edd0224b971736cef3b28b0225e2fa1135e06743 48779 |
|
01-Oct-2013 |
vboxsync |
iprt/xml.h: Replaced std::list<shared_ptr<>> with RTList both to safe a bunch of heap allocations but more importantly to improve enumerability of the XML tree. Added some new methods too, both related to enumeration and to other things. Note: If we can get rid of the shared_ptr stuff with attributes we can jettison the boost dependency we have, AFAICT. |