dbertoni 2003/02/11 11:35:53
Modified: c/src/PlatformSupport StringTokenizer.cpp
StringTokenizer.hpp
Log:
Don't make a copy of the string parameters of the constructors.
Revision Changes Path
1.12 +12 -10 xml-xalan/c/src/PlatformSupport/StringTokenizer.cpp
Index: StringTokenizer.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/PlatformSupport/StringTokenizer.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- StringTokenizer.cpp 20 Nov 2002 02:27:13 -0000 1.11
+++ StringTokenizer.cpp 11 Feb 2003 19:35:53 -0000 1.12
@@ -87,8 +87,8 @@
const XalanDOMString& theString,
const XalanDOMString& theTokens,
bool fReturnTokens) :
- m_string(theString),
- m_tokens(theTokens),
+ m_string(theString.c_str()),
+ m_tokens(theTokens.c_str()),
m_returnTokens(fReturnTokens),
m_currentIndex(0),
m_stringLength(length(theString)),
@@ -102,13 +102,14 @@
const XalanDOMString& theString,
const XalanDOMChar* theTokens,
bool fReturnTokens) :
- m_string(theString),
- m_tokens(XalanDOMString(theTokens)),
+ m_string(theString.c_str()),
+ m_tokens(theTokens),
m_returnTokens(fReturnTokens),
m_currentIndex(0),
m_stringLength(length(theString)),
m_tokensLength(length(theTokens))
{
+ assert(m_string != 0 && m_tokens != 0);
}
@@ -117,13 +118,14 @@
const XalanDOMChar* theString,
const XalanDOMChar* theTokens,
bool fReturnTokens) :
- m_string(XalanDOMString(theString)),
- m_tokens(XalanDOMString(theTokens)),
+ m_string(theString),
+ m_tokens(theTokens),
m_returnTokens(fReturnTokens),
m_currentIndex(0),
m_stringLength(length(theString)),
m_tokensLength(length(theTokens))
{
+ assert(m_string != 0 && m_tokens != 0);
}
@@ -132,13 +134,14 @@
const XalanDOMChar* theString,
const XalanDOMString& theTokens,
bool fReturnTokens) :
- m_string(XalanDOMString(theString)),
- m_tokens(theTokens),
+ m_string(theString),
+ m_tokens(theTokens.c_str()),
m_returnTokens(fReturnTokens),
m_currentIndex(0),
m_stringLength(length(theString)),
m_tokensLength(length(theTokens))
{
+ assert(m_string != 0 && m_tokens != 0);
}
@@ -305,8 +308,7 @@
fTokenFound == false)
{
const XalanDOMChar theCurrentChar =
- charAt(m_string,
- theIndex);
+ m_string[theIndex];
if (indexOf(m_tokens,
theCurrentChar) < m_tokensLength)
1.13 +15 -13 xml-xalan/c/src/PlatformSupport/StringTokenizer.hpp
Index: StringTokenizer.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/PlatformSupport/StringTokenizer.hpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- StringTokenizer.hpp 20 Nov 2002 02:27:13 -0000 1.12
+++ StringTokenizer.hpp 11 Feb 2003 19:35:53 -0000 1.13
@@ -85,34 +85,36 @@
typedef size_t size_type;
/**
- * Constructs a tokenizer for the target string
- *
+ * Constructs a tokenizer for the target string. No copies of any input
+ * strings are made.
+ *
* @param theString string to tokenize
* @param theTokens string of delimiters used to parse target,
default
- * is "\t\n\r"
+ * is " \t\n\r"
* @param fReturnTokens if true, delimiter characters are also returned
* as tokens, default is false
*/
StringTokenizer(const XalanDOMString& theString,
- const XalanDOMString& theTokens =
XalanDOMString(s_defaultTokens),
+ const XalanDOMString& theTokens,
bool
fReturnTokens = false);
/**
- * Constructs a tokenizer for the target string
+ * Constructs a tokenizer for the target string. No copies of any input
+ * strings are made.
*
* @param theString string to tokenize
* @param theTokens string of delimiters used to parse target,
default
- * is "\t\n\r"
+ * is " \t\n\r"
* @param fReturnTokens if true, delimiter characters are also returned
* as tokens, default is false
*/
StringTokenizer(const XalanDOMString& theString,
- const XalanDOMChar*
theTokens,
+ const XalanDOMChar*
theTokens = s_defaultTokens,
bool
fReturnTokens = false);
/**
- * Constructs a tokenizer for the target string. This version
constructs
- * from null-terminated wide strings, like those we get from SAX-like
APIs.
+ * Constructs a tokenizer for the target string. No copies of any input
+ * strings are made.
*
* @param theString string to tokenize
* @param theTokens string of delimiters used to parse target.
@@ -124,8 +126,8 @@
bool
fReturnTokens = false);
/**
- * Constructs a tokenizer for the target string. This version
constructs
- * from null-terminated wide strings, like those we get from SAX-like
APIs.
+ * Constructs a tokenizer for the target string. No copies of any input
+ * strings are made.
*
* @param theString string to tokenize
* @param theTokens string of delimiters used to parse target.
@@ -185,9 +187,9 @@
private:
- const XalanDOMString m_string;
+ const XalanDOMChar* const m_string;
- const XalanDOMString m_tokens;
+ const XalanDOMChar* const m_tokens;
const bool
m_returnTokens;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]