XPath: Added xpath_node_set constructor, redesigned evaluation memory management (alternating stacks instead of heap)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@722 99668b35-9821-0410-8761-19e4c4f06640
This commit is contained in:
parent
7709a32b09
commit
000b421873
2 changed files with 774 additions and 467 deletions
1221
src/pugixml.cpp
1221
src/pugixml.cpp
File diff suppressed because it is too large
Load diff
|
@ -2068,8 +2068,6 @@ namespace pugi
|
|||
*/
|
||||
class PUGIXML_CLASS xpath_node_set
|
||||
{
|
||||
friend class xpath_ast_node;
|
||||
|
||||
public:
|
||||
/// Collection type
|
||||
enum type_t
|
||||
|
@ -2089,20 +2087,9 @@ namespace pugi
|
|||
|
||||
xpath_node* _begin;
|
||||
xpath_node* _end;
|
||||
xpath_node* _eos;
|
||||
|
||||
typedef xpath_node* iterator;
|
||||
|
||||
iterator mut_begin();
|
||||
void _assign(const_iterator begin, const_iterator end);
|
||||
|
||||
void push_back(const xpath_node& n);
|
||||
|
||||
void append(const_iterator begin, const_iterator end);
|
||||
|
||||
void truncate(iterator it);
|
||||
|
||||
void remove_duplicates();
|
||||
|
||||
public:
|
||||
/**
|
||||
* Default constructor
|
||||
|
@ -2110,6 +2097,11 @@ namespace pugi
|
|||
*/
|
||||
xpath_node_set();
|
||||
|
||||
/**
|
||||
* Constructor from contents
|
||||
*/
|
||||
xpath_node_set(const_iterator begin, const_iterator end, type_t type = type_unsorted);
|
||||
|
||||
/**
|
||||
* Destructor
|
||||
*/
|
||||
|
|
Loading…
Add table
Reference in a new issue