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]

Reply via email to