|
From: <vac...@us...> - 2009-02-06 22:54:56
|
Revision: 132
http://xmlwrapp.svn.sourceforge.net/xmlwrapp/?rev=132&view=rev
Author: vaclavslavik
Date: 2009-02-06 22:54:50 +0000 (Fri, 06 Feb 2009)
Log Message:
-----------
pass iterator arguments to various xml::node methods by reference instead of by value, iterators are not as cheap to copy as we'd want them
Modified Paths:
--------------
trunk/include/xmlwrapp/node.h
trunk/src/libxml/node.cxx
Modified: trunk/include/xmlwrapp/node.h
===================================================================
--- trunk/include/xmlwrapp/node.h 2009-02-06 22:42:15 UTC (rev 131)
+++ trunk/include/xmlwrapp/node.h 2009-02-06 22:54:50 UTC (rev 132)
@@ -674,7 +674,7 @@
* @see elements(const char*)
**/
//####################################################################
- iterator find (const char *name, iterator start);
+ iterator find (const char *name, const iterator& start);
//####################################################################
/**
@@ -696,7 +696,7 @@
* @see elements(const char*) const
**/
//####################################################################
- const_iterator find (const char *name, const_iterator start) const;
+ const_iterator find (const char *name, const const_iterator& start) const;
/**
* Returns view of child nodes of type type_element. If no such node
@@ -808,7 +808,7 @@
* @author Peter Jones
**/
//####################################################################
- iterator insert (iterator position, const node &n);
+ iterator insert (const iterator& position, const node &n);
//####################################################################
/**
@@ -824,7 +824,7 @@
* @author Peter Jones
**/
//####################################################################
- iterator replace (iterator old_node, const node &new_node);
+ iterator replace (const iterator& old_node, const node &new_node);
//####################################################################
/**
@@ -839,7 +839,7 @@
* @author Gary A. Passero
**/
//####################################################################
- iterator erase (iterator to_erase);
+ iterator erase (const iterator& to_erase);
//####################################################################
/**
@@ -853,7 +853,7 @@
* @author Peter Jones
**/
//####################################################################
- iterator erase (iterator first, iterator last);
+ iterator erase (iterator first, const iterator& last);
//####################################################################
/**
Modified: trunk/src/libxml/node.cxx
===================================================================
--- trunk/src/libxml/node.cxx 2009-02-06 22:42:15 UTC (rev 131)
+++ trunk/src/libxml/node.cxx 2009-02-06 22:54:50 UTC (rev 132)
@@ -458,13 +458,13 @@
return end();
}
//####################################################################
-xml::node::iterator xml::node::find (const char *name, iterator start) {
+xml::node::iterator xml::node::find (const char *name, const iterator& start) {
xmlNodePtr n = static_cast<xmlNodePtr>(start.get_raw_node());
if ( (n = find_element(name, n))) return iterator(n);
return end();
}
//####################################################################
-xml::node::const_iterator xml::node::find (const char *name, const_iterator start) const {
+xml::node::const_iterator xml::node::find (const char *name, const const_iterator& start) const {
xmlNodePtr n = static_cast<xmlNodePtr>(start.get_raw_node());
if ( (n = find_element(name, n))) return const_iterator(n);
return end();
@@ -511,19 +511,19 @@
return iterator(xml::impl::node_insert(pimpl_->xmlnode_, 0, n.pimpl_->xmlnode_));
}
//####################################################################
-xml::node::iterator xml::node::insert (iterator position, const node &n) {
+xml::node::iterator xml::node::insert (const iterator& position, const node &n) {
return iterator(xml::impl::node_insert(pimpl_->xmlnode_, static_cast<xmlNodePtr>(position.get_raw_node()), n.pimpl_->xmlnode_));
}
//####################################################################
-xml::node::iterator xml::node::replace (iterator old_node, const node &new_node) {
+xml::node::iterator xml::node::replace (const iterator& old_node, const node &new_node) {
return iterator(xml::impl::node_replace(static_cast<xmlNodePtr>(old_node.get_raw_node()), new_node.pimpl_->xmlnode_));
}
//####################################################################
-xml::node::iterator xml::node::erase (iterator to_erase) {
+xml::node::iterator xml::node::erase (const iterator& to_erase) {
return iterator(xml::impl::node_erase(static_cast<xmlNodePtr>(to_erase.get_raw_node())));
}
//####################################################################
-xml::node::iterator xml::node::erase (iterator first, iterator last) {
+xml::node::iterator xml::node::erase (iterator first, const iterator& last) {
while (first != last) first = erase(first);
return first;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|