dbertoni    01/03/29 14:12:07

  Modified:    c/src/PlatformSupport XalanDOMStringPool.cpp
                        XalanDOMStringPool.hpp
  Log:
  Keep a pointer to string in the index, instead of an iterator into to deque.
  
  Revision  Changes    Path
  1.6       +6 -6      xml-xalan/c/src/PlatformSupport/XalanDOMStringPool.cpp
  
  Index: XalanDOMStringPool.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/PlatformSupport/XalanDOMStringPool.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XalanDOMStringPool.cpp    2000/12/15 01:11:14     1.5
  +++ XalanDOMStringPool.cpp    2001/03/29 22:12:06     1.6
  @@ -128,7 +128,7 @@
        // guaranteed to free up all allocated memory.
        XalanDOMStringCollectionType().swap(m_strings);
   
  -     IteratorMapType().swap(m_index);
  +     IndexMapType().swap(m_index);
   }
   
   
  @@ -167,8 +167,8 @@
                const unsigned int      theActualLength = theLength == -1 ? 
length(theString) : theLength;
   
                // Find the string...
  -             const IteratorMapType::const_iterator   i =
  -                     m_index.find(IteratorMapType::key_type(theString, 
theActualLength));
  +             const IndexMapType::const_iterator      i =
  +                     m_index.find(IndexMapType::key_type(theString, 
theActualLength));
   
                if (i != m_index.end())
                {
  @@ -189,9 +189,9 @@
   
                        // Add an index entry...
                        m_index.insert(
  -                             IteratorMapType::value_type(
  -                                     
IteratorMapType::key_type(toCharArray(theNewString), theActualLength),
  -                                     theIterator));
  +                             IndexMapType::value_type(
  +                                     
IndexMapType::key_type(toCharArray(theNewString), theActualLength),
  +                                     &theNewString));
   
                        assert(m_strings.size() == m_index.size());
   
  
  
  
  1.5       +6 -6      xml-xalan/c/src/PlatformSupport/XalanDOMStringPool.hpp
  
  Index: XalanDOMStringPool.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/PlatformSupport/XalanDOMStringPool.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XalanDOMStringPool.hpp    2000/12/07 16:39:27     1.4
  +++ XalanDOMStringPool.hpp    2001/03/29 22:12:06     1.5
  @@ -107,18 +107,18 @@
        };
   
   #if defined(XALAN_NO_NAMESPACES)
  -     typedef deque<XalanDOMString>                                           
                XalanDOMStringCollectionType;
  +     typedef deque<XalanDOMString>           XalanDOMStringCollectionType;
   
        typedef map<
                                StringKey,
  -                             XalanDOMStringCollectionType::const_iterator,
  -                             less<StringKey> >                               
                                IteratorMapType;
  +                             const XalanDOMString*,
  +                             less<StringKey> >               IndexMapType;
   #else
  -     typedef std::deque<XalanDOMString>                                      
                XalanDOMStringCollectionType;
  +     typedef std::deque<XalanDOMString>      XalanDOMStringCollectionType;
   
        typedef std::map<
                                StringKey,
  -                             XalanDOMStringCollectionType::const_iterator>   
IteratorMapType;
  +                             const XalanDOMString*>  IndexMapType;
   #endif
   
        typedef XalanDOMStringCollectionType::size_type         size_type;
  @@ -180,7 +180,7 @@
        // Data members...
        XalanDOMStringCollectionType    m_strings;
   
  -     IteratorMapType                                 m_index;
  +     IndexMapType                                    m_index;
   
        static const XalanDOMString             s_emptyString;
   };
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to