You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by db...@apache.org on 2002/05/06 07:27:00 UTC

cvs commit: xml-xalan/c/src/XPath XalanQName.hpp XalanQNameByValue.cpp XObjectResultTreeFragProxyText.cpp XPathProcessorImpl.cpp

dbertoni    02/05/05 22:27:00

  Modified:    c/src/XPath XalanQName.hpp XalanQNameByValue.cpp
                        XObjectResultTreeFragProxyText.cpp
                        XPathProcessorImpl.cpp
  Log:
  More efficient string processing.
  
  Revision  Changes    Path
  1.4       +1 -1      xml-xalan/c/src/XPath/XalanQName.hpp
  
  Index: XalanQName.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XalanQName.hpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XalanQName.hpp	2 Apr 2002 06:11:31 -0000	1.3
  +++ XalanQName.hpp	6 May 2002 05:26:59 -0000	1.4
  @@ -170,7 +170,7 @@
   	 * @return true if namespace and local part are both empty
   	 */
   	bool
  -	equals(const XalanQName&		theRHS) const
  +	equals(const XalanQName&	theRHS) const
   	{
   		// Note that we do not use our member variables here.  See
   		// class QNameReference for details...
  
  
  
  1.6       +4 -4      xml-xalan/c/src/XPath/XalanQNameByValue.cpp
  
  Index: XalanQNameByValue.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XalanQNameByValue.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XalanQNameByValue.cpp	12 Mar 2002 05:39:27 -0000	1.5
  +++ XalanQNameByValue.cpp	6 May 2002 05:26:59 -0000	1.6
  @@ -222,7 +222,7 @@
   	}
   	else if(indexOfNSSep < length(qname))
   	{
  -		const XalanDOMString		prefix = substring(qname, 0, indexOfNSSep);
  +		const XalanDOMString	prefix(qname, indexOfNSSep);
   
   		if(::equals(prefix, DOMServices::s_XMLNamespace))
   			return;
  @@ -239,7 +239,7 @@
   			m_namespace = *theNamespace;
   		}
   
  -		m_localpart =  substring(qname, indexOfNSSep + 1);
  +		m_localpart.assign(qname + indexOfNSSep + 1);
   	}
   	else
   	{
  @@ -275,7 +275,7 @@
   	}
   	else
   	{
  -		const XalanDOMString	prefix = substring(qname, 0, indexOfNSSep);
  +		const XalanDOMString	prefix(qname, 0, indexOfNSSep);
   
   		if(::equals(prefix, DOMServices::s_XMLString))
   		{
  @@ -314,6 +314,6 @@
   				locator);
   		}
   
  -		m_localpart = substring(qname, indexOfNSSep + 1);
  +		m_localpart.assign(qname, indexOfNSSep + 1, theLength - (indexOfNSSep + 1));
   	}
   }
  
  
  
  1.3       +1 -1      xml-xalan/c/src/XPath/XObjectResultTreeFragProxyText.cpp
  
  Index: XObjectResultTreeFragProxyText.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XObjectResultTreeFragProxyText.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XObjectResultTreeFragProxyText.cpp	23 Feb 2002 03:26:18 -0000	1.2
  +++ XObjectResultTreeFragProxyText.cpp	6 May 2002 05:26:59 -0000	1.3
  @@ -346,7 +346,7 @@
   			unsigned int	offset,
   			unsigned int	count) const
   {
  -	return substring(m_value.str(), offset, count);
  +	return m_value.str().substr(offset, count);
   }
   
   
  
  
  
  1.54      +41 -17    xml-xalan/c/src/XPath/XPathProcessorImpl.cpp
  
  Index: XPathProcessorImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathProcessorImpl.cpp,v
  retrieving revision 1.53
  retrieving revision 1.54
  diff -u -r1.53 -r1.54
  --- XPathProcessorImpl.cpp	11 Apr 2002 05:53:43 -0000	1.53
  +++ XPathProcessorImpl.cpp	6 May 2002 05:26:59 -0000	1.54
  @@ -197,7 +197,7 @@
   	{
   		initMatchPattern(
   			pathObj,
  -			substring(expression, 2),
  +			XalanDOMString(expression, 2, expression.length() - 2),
   			prefixResolver,
   			locator);
   	}
  @@ -237,7 +237,8 @@
   	// counted inside the m_patternMap.
   	int nesting = 0;
   
  -	// char[] chars = pat.toCharArray();
  +	XalanDOMString	theToken;
  +
   	for(int i = 0; i < nChars; i++)
   	{
   		XalanDOMChar	c = charAt(pat, i);
  @@ -258,7 +259,9 @@
   					}
   					else
   					{
  -						addToTokenQueue(substring(pat, startSubstring, i));
  +						substring(pat, theToken, startSubstring, i);
  +
  +						addToTokenQueue(theToken);
   					}
   				}
   
  @@ -268,7 +271,10 @@
   
   				if(c == XalanUnicode::charQuoteMark)
   				{
  -					addToTokenQueue(substring(pat, startSubstring, i + 1));
  +					substring(pat, theToken, startSubstring, i + 1);
  +
  +					addToTokenQueue(theToken);
  +
   					startSubstring = -1;
   				}
   				else
  @@ -291,7 +297,9 @@
   					}
   					else
   					{
  -						addToTokenQueue(substring(pat, startSubstring, i));
  +						substring(pat, theToken, startSubstring, i);
  +
  +						addToTokenQueue(theToken);
   					}
   				}
   
  @@ -301,7 +309,10 @@
   
   				if(c == XalanUnicode::charApostrophe)
   				{
  -					addToTokenQueue(substring(pat, startSubstring, i + 1));
  +					substring(pat, theToken, startSubstring, i + 1);
  +
  +					addToTokenQueue(theToken);
  +
   					startSubstring = -1;
   				}
   				else
  @@ -327,7 +338,9 @@
   					}
   					else
   					{
  -						addToTokenQueue(substring(pat, startSubstring, i));
  +						substring(pat, theToken, startSubstring, i);
  +
  +						addToTokenQueue(theToken);
   					}
   
   					startSubstring = -1;
  @@ -379,7 +392,9 @@
   					}
   					else
   					{
  -						addToTokenQueue(substring(pat, startSubstring, i));
  +						substring(pat, theToken, startSubstring, i);
  +
  +						addToTokenQueue(theToken);
   					}
   
   					startSubstring = -1;
  @@ -416,7 +431,9 @@
   					nesting++;
   				}
   
  -				addToTokenQueue(substring(pat, i, i + 1));
  +				substring(pat, theToken, i, i + 1);
  +
  +				addToTokenQueue(theToken);
   			}		
   			break;
   
  @@ -428,7 +445,9 @@
   					{
   						if (startSubstring < i - 1)
   						{
  -							addToTokenQueue(substring(pat, startSubstring, i - 1));
  +							substring(pat, theToken, startSubstring, i - 1);
  +
  +							addToTokenQueue(theToken);
   						}
   					}
   
  @@ -436,7 +455,9 @@
   					startSubstring = -1;
   					posOfNSSep = -1;
   
  -					addToTokenQueue(substring(pat, i - 1, i + 1));
  +					substring(pat, theToken, i - 1, i + 1);
  +
  +					addToTokenQueue(theToken);
   					break;
   				}
   				else
  @@ -484,7 +505,9 @@
   							}
   						}
   
  -						addToTokenQueue(substring(pat, startSubstring, i + 1));
  +						substring(pat, theToken, startSubstring, i + 1);
  +
  +						addToTokenQueue(theToken);
   
   						startSubstring = -1;
   					}
  @@ -503,7 +526,9 @@
   		}
   		else
   		{
  -			addToTokenQueue(substring(pat, startSubstring, nChars));
  +			substring(pat, theToken, startSubstring, nChars);
  +
  +			addToTokenQueue(theToken);
   		}
   	}
   
  @@ -634,8 +659,7 @@
   {
   	assert(m_prefixResolver != 0);
   
  -	const XalanDOMString 			prefix =
  -				substring(pat, startSubstring, posOfNSSep);
  +	const XalanDOMString 	prefix(pat, startSubstring, posOfNSSep - startSubstring);
   
   	if (XalanQName::isValidNCName(prefix) == false)
   	{
  @@ -672,7 +696,7 @@
   		// here...
   		if(posOfNSSep + 1 < posOfScan)
   		{
  -			const XalanDOMString 	s = substring(pat, posOfNSSep + 1, posOfScan);
  +			const XalanDOMString 	s(pat, posOfNSSep + 1, posOfScan - (posOfNSSep + 1));
   
   			assert(length(s) > 0);
   
  @@ -2222,7 +2246,7 @@
   
   	if(isCurrentLiteral() == true)
   	{
  -		const XalanDOMString	theArgument = substring(m_token, 1, length(m_token) - 1);
  +		const XalanDOMString	theArgument(m_token, 1, length(m_token) - 2);
   
   		m_expression->pushArgumentOnOpCodeMap(theArgument);
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org