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
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
|
class PUGIXML_CLASS xpath_node_set
|
||||||
{
|
{
|
||||||
friend class xpath_ast_node;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/// Collection type
|
/// Collection type
|
||||||
enum type_t
|
enum type_t
|
||||||
@ -2089,20 +2087,9 @@ namespace pugi
|
|||||||
|
|
||||||
xpath_node* _begin;
|
xpath_node* _begin;
|
||||||
xpath_node* _end;
|
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:
|
public:
|
||||||
/**
|
/**
|
||||||
* Default constructor
|
* Default constructor
|
||||||
@ -2110,6 +2097,11 @@ namespace pugi
|
|||||||
*/
|
*/
|
||||||
xpath_node_set();
|
xpath_node_set();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor from contents
|
||||||
|
*/
|
||||||
|
xpath_node_set(const_iterator begin, const_iterator end, type_t type = type_unsorted);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destructor
|
* Destructor
|
||||||
*/
|
*/
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user