You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by kn...@apache.org on 2003/05/16 08:02:00 UTC

cvs commit: xml-xerces/c/src/xercesc/validators/datatype AbstractStringValidator.cpp AnyURIDatatypeValidator.cpp BooleanDatatypeValidator.cpp DateTimeValidator.cpp DecimalDatatypeValidator.cpp DoubleDatatypeValidator.cpp FloatDatatypeValidator.cpp ListDatatypeValidator.cpp NOTATIONDatatypeValidator.cpp UnionDatatypeValidator.cpp

knoaman     2003/05/15 23:01:58

  Modified:    c/src/xercesc/dom/impl DOMDocumentImpl.cpp
                        DOMDocumentImpl.hpp DOMElementImpl.cpp
                        DOMElementNSImpl.cpp
               c/src/xercesc/internal IGXMLScanner.cpp ReaderMgr.cpp
                        SGXMLScanner.cpp XMLScanner.cpp
               c/src/xercesc/parsers AbstractDOMParser.cpp
                        SAX2XMLReaderImpl.cpp
               c/src/xercesc/util BaseRefVectorOf.c BaseRefVectorOf.hpp
                        CountedPointer.hpp KVStringPair.cpp
                        KVStringPair.hpp NameIdPool.c NameIdPool.hpp
                        QName.cpp QName.hpp RefArrayOf.c RefArrayOf.hpp
                        RefArrayVectorOf.c RefArrayVectorOf.hpp
                        RefHash3KeysIdPool.c RefHash3KeysIdPool.hpp
                        RefStackOf.c RefStackOf.hpp RefVectorOf.c
                        RefVectorOf.hpp StringPool.cpp StringPool.hpp
                        ValueArrayOf.c ValueArrayOf.hpp ValueHashTableOf.c
                        ValueHashTableOf.hpp ValueStackOf.c
                        ValueStackOf.hpp ValueVectorOf.c ValueVectorOf.hpp
                        XMLAbstractDoubleFloat.cpp
                        XMLAbstractDoubleFloat.hpp XMLBigDecimal.cpp
                        XMLBigDecimal.hpp XMLBigInteger.cpp
                        XMLBigInteger.hpp XMLDouble.cpp XMLDouble.hpp
                        XMLFloat.cpp XMLFloat.hpp XMLURL.cpp XMLURL.hpp
                        XMLUri.cpp XMLUri.hpp
               c/src/xercesc/util/Transcoders/Cygwin CygwinTransService.cpp
               c/src/xercesc/util/Transcoders/Win32 Win32TransService.cpp
               c/src/xercesc/util/regx RegularExpression.cpp
                        RegularExpression.hpp
               c/src/xercesc/validators/datatype
                        AbstractStringValidator.cpp
                        AnyURIDatatypeValidator.cpp
                        BooleanDatatypeValidator.cpp DateTimeValidator.cpp
                        DecimalDatatypeValidator.cpp
                        DoubleDatatypeValidator.cpp
                        FloatDatatypeValidator.cpp
                        ListDatatypeValidator.cpp
                        NOTATIONDatatypeValidator.cpp
                        UnionDatatypeValidator.cpp
  Log:
  Partial implementation of the configurable memory manager.
  
  Revision  Changes    Path
  1.37      +2 -2      xml-xerces/c/src/xercesc/dom/impl/DOMDocumentImpl.cpp
  
  Index: DOMDocumentImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMDocumentImpl.cpp,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- DOMDocumentImpl.cpp	15 May 2003 18:25:54 -0000	1.36
  +++ DOMDocumentImpl.cpp	16 May 2003 06:01:50 -0000	1.37
  @@ -1329,7 +1329,7 @@
   void DOMDocumentImpl::release(DOMNode* object, NodeObjectType type)
   {
       if (!fRecycleNodePtr)
  -        fRecycleNodePtr = new (fMemoryManager) RefArrayOf<DOMNodePtr> (15);
  +        fRecycleNodePtr = new (fMemoryManager) RefArrayOf<DOMNodePtr> (15, fMemoryManager);
   
       if (!fRecycleNodePtr->operator[](type))
           fRecycleNodePtr->operator[](type) = new (fMemoryManager) RefStackOf<DOMNode> (15, false);
  
  
  
  1.19      +7 -1      xml-xerces/c/src/xercesc/dom/impl/DOMDocumentImpl.hpp
  
  Index: DOMDocumentImpl.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMDocumentImpl.hpp,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- DOMDocumentImpl.hpp	15 May 2003 18:25:54 -0000	1.18
  +++ DOMDocumentImpl.hpp	16 May 2003 06:01:50 -0000	1.19
  @@ -305,6 +305,7 @@
       void                         releaseDocNotifyUserData(DOMNode* object);
       void                         releaseBuffer(DOMBuffer* buffer);
       DOMBuffer*                   popBuffer();
  +    MemoryManager*               getMemoryManager() const;
   
       // Factory methods for getting/creating node lists.
       // Because nothing is ever deleted, the implementation caches and recycles
  @@ -376,6 +377,11 @@
       bool                  errorChecking;    // Bypass error checking.
   
   };
  +
  +inline MemoryManager* DOMDocumentImpl::getMemoryManager() const
  +{
  +    return fMemoryManager;
  +}
   
   XERCES_CPP_NAMESPACE_END
   
  
  
  
  1.20      +3 -3      xml-xerces/c/src/xercesc/dom/impl/DOMElementImpl.cpp
  
  Index: DOMElementImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMElementImpl.cpp,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- DOMElementImpl.cpp	29 Jan 2003 19:43:08 -0000	1.19
  +++ DOMElementImpl.cpp	16 May 2003 06:01:50 -0000	1.20
  @@ -536,8 +536,8 @@
               const XMLCh* uri =  attrNode->getNodeValue();
               if (uri && *uri) {// attribute value is always empty string
                   try {
  -                    XMLUri temp(baseURI);
  -                    XMLUri temp2(&temp, uri);
  +                    XMLUri temp(baseURI, ((DOMDocumentImpl *)this->getOwnerDocument())->getMemoryManager());
  +                    XMLUri temp2(&temp, uri, ((DOMDocumentImpl *)this->getOwnerDocument())->getMemoryManager());
                       uri = ((DOMDocumentImpl *)this->getOwnerDocument())->cloneString(temp2.getUriText());
                   }
                   catch (...){
  
  
  
  1.13      +3 -3      xml-xerces/c/src/xercesc/dom/impl/DOMElementNSImpl.cpp
  
  Index: DOMElementNSImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMElementNSImpl.cpp,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- DOMElementNSImpl.cpp	15 May 2003 18:25:54 -0000	1.12
  +++ DOMElementNSImpl.cpp	16 May 2003 06:01:50 -0000	1.13
  @@ -127,8 +127,8 @@
               const XMLCh* uri =  attrNode->getNodeValue();
               if (uri && *uri) {// attribute value is always empty string
                   try {
  -                    XMLUri temp(baseURI);
  -                    XMLUri temp2(&temp, uri);
  +                    XMLUri temp(baseURI, ((DOMDocumentImpl *)this->getOwnerDocument())->getMemoryManager());
  +                    XMLUri temp2(&temp, uri, ((DOMDocumentImpl *)this->getOwnerDocument())->getMemoryManager());
                       uri = ((DOMDocumentImpl *)this->getOwnerDocument())->cloneString(temp2.getUriText());
                   }
                   catch (...){
  
  
  
  1.11      +2 -1      xml-xerces/c/src/xercesc/internal/IGXMLScanner.cpp
  
  Index: IGXMLScanner.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/IGXMLScanner.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- IGXMLScanner.cpp	15 May 2003 18:26:29 -0000	1.10
  +++ IGXMLScanner.cpp	16 May 2003 06:01:50 -0000	1.11
  @@ -698,6 +698,7 @@
                   (
                       fAttNameBuf.getRawBuffer()
                       , fAttValueBuf.getRawBuffer()
  +                    , fMemoryManager
                   );
                   toFill.addElement(curPair);
               }
  
  
  
  1.13      +3 -2      xml-xerces/c/src/xercesc/internal/ReaderMgr.cpp
  
  Index: ReaderMgr.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/ReaderMgr.cpp,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ReaderMgr.cpp	15 May 2003 18:26:29 -0000	1.12
  +++ ReaderMgr.cpp	16 May 2003 06:01:50 -0000	1.13
  @@ -731,7 +731,8 @@
                                        (const XMLByte*)dataBuf
                                        , dataLen * sizeof(XMLCh)
                                        , copyBuf ? BinMemInputStream::BufOpt_Copy
  -                                                 : BinMemInputStream::BufOpt_Reference
  +                                               : BinMemInputStream::BufOpt_Reference
  +                                     , fMemoryManager
                                      );
       if (!newStream)
           return 0;
  
  
  
  1.24      +2 -1      xml-xerces/c/src/xercesc/internal/SGXMLScanner.cpp
  
  Index: SGXMLScanner.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/SGXMLScanner.cpp,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- SGXMLScanner.cpp	15 May 2003 18:26:29 -0000	1.23
  +++ SGXMLScanner.cpp	16 May 2003 06:01:50 -0000	1.24
  @@ -660,6 +660,7 @@
                   (
                       fAttNameBuf.getRawBuffer()
                       , fAttValueBuf.getRawBuffer()
  +                    , fMemoryManager
                   );
                   toFill.addElement(curPair);
               }
  
  
  
  1.43      +4 -4      xml-xerces/c/src/xercesc/internal/XMLScanner.cpp
  
  Index: XMLScanner.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XMLScanner.cpp,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- XMLScanner.cpp	15 May 2003 18:26:29 -0000	1.42
  +++ XMLScanner.cpp	16 May 2003 06:01:50 -0000	1.43
  @@ -327,7 +327,7 @@
           //  Create a temporary URL. Since this is the primary document,
           //  it has to be fully qualified. If not, then assume we are just
           //  mistaking a file for a URL.
  -        XMLURL tmpURL(systemId);
  +        XMLURL tmpURL(systemId, fMemoryManager);
           if (tmpURL.isRelative()) {
               if (!fStandardUriConformant)
                   srcToUse = new (fMemoryManager) LocalFileInputSource(systemId);
  @@ -444,7 +444,7 @@
           //  Create a temporary URL. Since this is the primary document,
           //  it has to be fully qualified. If not, then assume we are just
           //  mistaking a file for a URL.
  -        XMLURL tmpURL(systemId);
  +        XMLURL tmpURL(systemId, fMemoryManager);
           if (tmpURL.isRelative()) {
               if (!fStandardUriConformant)
                   srcToUse = new (fMemoryManager) LocalFileInputSource(systemId);
  @@ -1571,7 +1571,7 @@
               //  Create a temporary URL. Since this is the primary document,
               //  it has to be fully qualified. If not, then assume we are just
               //  mistaking a file for a URL.
  -            XMLURL tmpURL(systemId);
  +            XMLURL tmpURL(systemId, fMemoryManager);
               if (tmpURL.isRelative())
               {
                   if (!fStandardUriConformant)
  
  
  
  1.41      +2 -2      xml-xerces/c/src/xercesc/parsers/AbstractDOMParser.cpp
  
  Index: AbstractDOMParser.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/parsers/AbstractDOMParser.cpp,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- AbstractDOMParser.cpp	15 May 2003 18:26:49 -0000	1.40
  +++ AbstractDOMParser.cpp	16 May 2003 06:01:52 -0000	1.41
  @@ -160,7 +160,7 @@
       fScanner->setGrammarResolver(fGrammarResolver);
       fScanner->setURIStringPool(fURIStringPool);
   
  -    fNodeStack = new (fMemoryManager) ValueStackOf<DOMNode*>(64);
  +    fNodeStack = new (fMemoryManager) ValueStackOf<DOMNode*>(64, fMemoryManager);
       this->reset();
   }
   
  
  
  
  1.19      +4 -1      xml-xerces/c/src/xercesc/parsers/SAX2XMLReaderImpl.cpp
  
  Index: SAX2XMLReaderImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/parsers/SAX2XMLReaderImpl.cpp,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- SAX2XMLReaderImpl.cpp	15 May 2003 18:26:50 -0000	1.18
  +++ SAX2XMLReaderImpl.cpp	16 May 2003 06:01:52 -0000	1.19
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.19  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.18  2003/05/15 18:26:50  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -356,7 +359,7 @@
   	
   	fPrefixes    = new (fMemoryManager) RefStackOf<XMLBuffer> (10, false) ;
   	fTempAttrVec  = new (fMemoryManager) RefVectorOf<XMLAttr>  (10, false) ;
  -	fPrefixCounts = new (fMemoryManager) ValueStackOf<unsigned int>(10) ;
  +	fPrefixCounts = new (fMemoryManager) ValueStackOf<unsigned int>(10, fMemoryManager) ;
   }
   
   
  
  
  
  1.3       +5 -3      xml-xerces/c/src/xercesc/util/BaseRefVectorOf.c
  
  Index: BaseRefVectorOf.c
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/BaseRefVectorOf.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- BaseRefVectorOf.c	15 May 2003 19:04:35 -0000	1.2
  +++ BaseRefVectorOf.c	16 May 2003 06:01:52 -0000	1.3
  @@ -65,14 +65,16 @@
   // ---------------------------------------------------------------------------
   //  BaseRefVectorOf: Constructors and Destructor
   // ---------------------------------------------------------------------------
  -template <class TElem> BaseRefVectorOf<TElem>::
  -BaseRefVectorOf(const unsigned int maxElems, const bool adoptElems) :
  +template <class TElem>
  +BaseRefVectorOf<TElem>::BaseRefVectorOf( const unsigned int maxElems
  +                                       , const bool adoptElems
  +                                       , MemoryManager* const manager) :
   
       fAdoptedElems(adoptElems)
       , fCurCount(0)
       , fMaxCount(maxElems)
       , fElemList(0)
  -    , fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    , fMemoryManager(manager)
   {
       // Allocate and initialize the array
       fElemList = (TElem**) fMemoryManager->allocate(maxElems * sizeof(TElem*));//new TElem*[maxElems];
  
  
  
  1.3       +6 -1      xml-xerces/c/src/xercesc/util/BaseRefVectorOf.hpp
  
  Index: BaseRefVectorOf.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/BaseRefVectorOf.hpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- BaseRefVectorOf.hpp	15 May 2003 19:04:35 -0000	1.2
  +++ BaseRefVectorOf.hpp	16 May 2003 06:01:52 -0000	1.3
  @@ -76,7 +76,12 @@
       // -----------------------------------------------------------------------
       //  Constructors and Destructor
       // -----------------------------------------------------------------------
  -    BaseRefVectorOf(const unsigned int maxElems, const bool adoptElems = true);
  +    BaseRefVectorOf
  +    (
  +          const unsigned int maxElems
  +        , const bool adoptElems = true
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
  +    );
       virtual ~BaseRefVectorOf() = 0;
   
   
  
  
  
  1.3       +4 -2      xml-xerces/c/src/xercesc/util/CountedPointer.hpp
  
  Index: CountedPointer.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/CountedPointer.hpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- CountedPointer.hpp	4 Nov 2002 15:22:03 -0000	1.2
  +++ CountedPointer.hpp	16 May 2003 06:01:52 -0000	1.3
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.3  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.2  2002/11/04 15:22:03  tng
    * C++ Namespace Support.
    *
  @@ -85,12 +88,11 @@
   #if !defined(COUNTEDPOINTERTO_HPP)
   #define COUNTEDPOINTERTO_HPP
   
  -#include <xercesc/util/XercesDefs.hpp>
   #include <xercesc/util/NullPointerException.hpp>
   
   XERCES_CPP_NAMESPACE_BEGIN
   
  -template <class T> class CountedPointerTo
  +template <class T> class CountedPointerTo : public XMemory
   {
   public:
       // -----------------------------------------------------------------------
  
  
  
  1.4       +10 -5     xml-xerces/c/src/xercesc/util/KVStringPair.cpp
  
  Index: KVStringPair.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/KVStringPair.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- KVStringPair.cpp	15 May 2003 19:04:35 -0000	1.3
  +++ KVStringPair.cpp	16 May 2003 06:01:52 -0000	1.4
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.4  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.3  2003/05/15 19:04:35  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -125,9 +128,9 @@
   // ---------------------------------------------------------------------------
   //  KVStringPair: Constructors and Destructor
   // ---------------------------------------------------------------------------
  -KVStringPair::KVStringPair() :
  +KVStringPair::KVStringPair(MemoryManager* const manager) :
   
  -    fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    fMemoryManager(manager)
       , fKey(0)
       , fKeyAllocSize(0)
       , fValue(0)
  @@ -135,9 +138,11 @@
   {
   }
   
  -KVStringPair::KVStringPair(const XMLCh* const key, const XMLCh* const value) :
  +KVStringPair::KVStringPair(const XMLCh* const key,
  +                           const XMLCh* const value,
  +                           MemoryManager* const manager) :
   
  -    fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    fMemoryManager(manager)
       , fKey(0)
       , fKeyAllocSize(0)
       , fValue(0)
  @@ -148,7 +153,7 @@
   
   KVStringPair::KVStringPair(const KVStringPair& toCopy) :
   
  -    fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    fMemoryManager(toCopy.fMemoryManager)
       , fKey(0)
       , fKeyAllocSize(0)
       , fValue(0)
  
  
  
  1.4       +10 -2     xml-xerces/c/src/xercesc/util/KVStringPair.hpp
  
  Index: KVStringPair.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/KVStringPair.hpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- KVStringPair.hpp	15 May 2003 19:04:35 -0000	1.3
  +++ KVStringPair.hpp	16 May 2003 06:01:52 -0000	1.4
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.4  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.3  2003/05/15 19:04:35  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -135,8 +138,13 @@
       // -----------------------------------------------------------------------
       //  Constructors and Destructor
       // -----------------------------------------------------------------------
  -    KVStringPair();
  -    KVStringPair(const XMLCh* const key, const XMLCh* const value);
  +    KVStringPair(MemoryManager* const manager);
  +    KVStringPair
  +    (
  +        const XMLCh* const key
  +        , const XMLCh* const value
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
  +    );
       KVStringPair(const KVStringPair& toCopy);
       ~KVStringPair();
   
  
  
  
  1.6       +6 -2      xml-xerces/c/src/xercesc/util/NameIdPool.c
  
  Index: NameIdPool.c
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/NameIdPool.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- NameIdPool.c	15 May 2003 19:04:35 -0000	1.5
  +++ NameIdPool.c	16 May 2003 06:01:52 -0000	1.6
  @@ -56,6 +56,9 @@
   
   /**
    * $Log$
  + * Revision 1.6  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.5  2003/05/15 19:04:35  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -123,8 +126,9 @@
   // ---------------------------------------------------------------------------
   template <class TElem>
   NameIdPool<TElem>::NameIdPool( const unsigned int hashModulus
  -                             , const unsigned int initSize) :
  -    fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +                             , const unsigned int initSize
  +                             , MemoryManager* const manager) :
  +    fMemoryManager(manager)
       , fBucketList(0)
       , fIdPtrs(0)
       , fIdPtrsCount(initSize)
  
  
  
  1.6       +4 -0      xml-xerces/c/src/xercesc/util/NameIdPool.hpp
  
  Index: NameIdPool.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/NameIdPool.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- NameIdPool.hpp	15 May 2003 19:04:35 -0000	1.5
  +++ NameIdPool.hpp	16 May 2003 06:01:52 -0000	1.6
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.6  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.5  2003/05/15 19:04:35  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -164,6 +167,7 @@
       (
           const   unsigned int    hashModulus
           , const unsigned int    initSize = 128
  +        , MemoryManager* const  manager = XMLPlatformUtils::fgMemoryManager
       );
   
       ~NameIdPool();
  
  
  
  1.8       +14 -9     xml-xerces/c/src/xercesc/util/QName.cpp
  
  Index: QName.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/QName.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- QName.cpp	15 May 2003 19:04:35 -0000	1.7
  +++ QName.cpp	16 May 2003 06:01:52 -0000	1.8
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.8  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.7  2003/05/15 19:04:35  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -113,9 +116,9 @@
   // ---------------------------------------------------------------------------
   //  QName: Constructors and Destructor
   // ---------------------------------------------------------------------------
  -QName::QName() :
  +QName::QName(MemoryManager* const manager) :
   
  -    fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    fMemoryManager(manager)
       , fPrefix(0)
       , fPrefixBufSz(0)
       , fLocalPart(0)
  @@ -126,11 +129,12 @@
   {
   }
   
  -QName::QName( const XMLCh* const prefix
  -            , const XMLCh* const localPart
  -            , const unsigned int uriId) :
  +QName::QName( const XMLCh* const   prefix
  +            , const XMLCh* const   localPart
  +            , const unsigned int   uriId
  +            , MemoryManager* const manager) :
   
  -    fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    fMemoryManager(manager)
       , fPrefix(0)
       , fPrefixBufSz(0)
       , fLocalPart(0)
  @@ -154,9 +158,10 @@
   }
   
   QName::QName( const XMLCh* const rawName
  -            , const unsigned int uriId) :
  +            , const unsigned int uriId
  +            , MemoryManager* const manager) :
   
  -    fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    fMemoryManager(manager)
       , fPrefix(0)
       , fPrefixBufSz(0)
       , fLocalPart(0)
  @@ -189,7 +194,7 @@
   // ---------------------------------------------------------------------------
   QName::QName(const QName& qname) :
   
  -    fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    fMemoryManager(qname.fMemoryManager)
       , fPrefix(0)
       , fPrefixBufSz(0)
       , fLocalPart(0)
  
  
  
  1.7       +13 -6     xml-xerces/c/src/xercesc/util/QName.hpp
  
  Index: QName.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/QName.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- QName.hpp	15 May 2003 19:04:35 -0000	1.6
  +++ QName.hpp	16 May 2003 06:01:52 -0000	1.7
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.7  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.6  2003/05/15 19:04:35  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -120,19 +123,23 @@
       //  Contructors and Destructor
       // -----------------------------------------------------------------------
       /** Default constructor. */
  -    QName();
  +    QName(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
   
       /** Constructs a specified qname using prefix, and localpart. */
       QName
  -    (   const XMLCh* const        prefix
  -      , const XMLCh* const        localPart
  -	   , const unsigned int        uriId
  +    (
  +          const XMLCh* const   prefix
  +        , const XMLCh* const   localPart
  +	    , const unsigned int   uriId
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
   
       /** Constructs a specified qname using rawName. */
       QName
  -    (   const XMLCh* const        rawName
  -	   , const unsigned int        uriId
  +    (
  +          const XMLCh* const   rawName
  +	    , const unsigned int   uriId
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
   
       /** Copy constructor. */
  
  
  
  1.4       +13 -6     xml-xerces/c/src/xercesc/util/RefArrayOf.c
  
  Index: RefArrayOf.c
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/RefArrayOf.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- RefArrayOf.c	15 May 2003 19:04:35 -0000	1.3
  +++ RefArrayOf.c	16 May 2003 06:01:52 -0000	1.4
  @@ -56,6 +56,9 @@
   
   /**
    * $Log$
  + * Revision 1.4  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.3  2003/05/15 19:04:35  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -94,23 +97,27 @@
   // ---------------------------------------------------------------------------
   //  RefArrayOf: Contructors and Destructor
   // ---------------------------------------------------------------------------
  -template <class TElem> RefArrayOf<TElem>::RefArrayOf(const unsigned int size) :
  +template <class TElem>
  +RefArrayOf<TElem>::RefArrayOf(const unsigned int size,
  +                              MemoryManager* const manager) :
   
       fSize(size)
       , fArray(0)
  -    , fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    , fMemoryManager(manager)
   {
       fArray = (TElem**) fMemoryManager->allocate(fSize * sizeof(TElem*));//new TElem*[fSize];
       for (unsigned int index = 0; index < fSize; index++)
           fArray[index] = 0;
   }
   
  -template <class TElem> RefArrayOf<TElem>::
  -RefArrayOf(TElem* values[], const unsigned int size) :
  +template <class TElem>
  +RefArrayOf<TElem>::RefArrayOf(TElem* values[],
  +                              const unsigned int size,
  +                              MemoryManager* const manager) :
   
       fSize(size)
       , fArray(0)
  -    , fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    , fMemoryManager(manager)
   {
       fArray = (TElem**) fMemoryManager->allocate(fSize * sizeof(TElem*));//new TElem*[fSize];
       for (unsigned int index = 0; index < fSize; index++)
  @@ -122,7 +129,7 @@
   
       fSize(source.fSize)
       , fArray(0)
  -    , fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    , fMemoryManager(source.fMemoryManager)
   {
       fArray = (TElem**) fMemoryManager->allocate(fSize * sizeof(TElem*));//new TElem*[fSize];
       for (unsigned int index = 0; index < fSize; index++)
  
  
  
  1.5       +12 -2     xml-xerces/c/src/xercesc/util/RefArrayOf.hpp
  
  Index: RefArrayOf.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/RefArrayOf.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- RefArrayOf.hpp	15 May 2003 19:04:35 -0000	1.4
  +++ RefArrayOf.hpp	16 May 2003 06:01:52 -0000	1.5
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.5  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.4  2003/05/15 19:04:35  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -104,8 +107,15 @@
       // -----------------------------------------------------------------------
       //  Contructors and Destructor
       // -----------------------------------------------------------------------
  -    RefArrayOf(const unsigned int size);
  -	RefArrayOf(TElem* values[], const unsigned int size);
  +    RefArrayOf
  +    (
  +          const unsigned int size
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
  +	RefArrayOf
  +    (
  +          TElem* values[]
  +        , const unsigned int size
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
   	RefArrayOf(const RefArrayOf<TElem>& source);
   	~RefArrayOf();
   
  
  
  
  1.5       +5 -1      xml-xerces/c/src/xercesc/util/RefArrayVectorOf.c
  
  Index: RefArrayVectorOf.c
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/RefArrayVectorOf.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- RefArrayVectorOf.c	16 May 2003 03:11:22 -0000	1.4
  +++ RefArrayVectorOf.c	16 May 2003 06:01:52 -0000	1.5
  @@ -11,7 +11,11 @@
   // ---------------------------------------------------------------------------
   //  RefArrayVectorOf: Constructor and Destructor
   // ---------------------------------------------------------------------------
  -template <class TElem> RefArrayVectorOf<TElem>::RefArrayVectorOf(const unsigned int maxElems, const bool adoptElems) : BaseRefVectorOf<TElem>(maxElems, adoptElems)
  +template <class TElem>
  +RefArrayVectorOf<TElem>::RefArrayVectorOf( const unsigned int maxElems
  +                                         , const bool adoptElems
  +                                         , MemoryManager* const manager)
  +    : BaseRefVectorOf<TElem>(maxElems, adoptElems, manager)
   {
   }
   
  
  
  
  1.2       +3 -1      xml-xerces/c/src/xercesc/util/RefArrayVectorOf.hpp
  
  Index: RefArrayVectorOf.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/RefArrayVectorOf.hpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- RefArrayVectorOf.hpp	17 Dec 2002 17:17:58 -0000	1.1
  +++ RefArrayVectorOf.hpp	16 May 2003 06:01:52 -0000	1.2
  @@ -15,7 +15,9 @@
       // -----------------------------------------------------------------------
       //  Constructor
       // -----------------------------------------------------------------------
  -    RefArrayVectorOf(const unsigned int maxElems, const bool adoptElems = true);
  +    RefArrayVectorOf( const unsigned int   maxElems
  +                    , const bool           adoptElems = true
  +                    , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
   
       // -----------------------------------------------------------------------
       //  Destructor
  
  
  
  1.4       +12 -6     xml-xerces/c/src/xercesc/util/RefHash3KeysIdPool.c
  
  Index: RefHash3KeysIdPool.c
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/RefHash3KeysIdPool.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- RefHash3KeysIdPool.c	15 May 2003 19:04:35 -0000	1.3
  +++ RefHash3KeysIdPool.c	16 May 2003 06:01:52 -0000	1.4
  @@ -56,6 +56,9 @@
   
   /**
    * $Log$
  + * Revision 1.4  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.3  2003/05/15 19:04:35  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -97,8 +100,9 @@
   template <class TVal>
   RefHash3KeysIdPool<TVal>::RefHash3KeysIdPool( const unsigned int modulus
                                               , const bool         adoptElems
  -                                            , const unsigned int initSize) :
  -    fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +                                            , const unsigned int initSize
  +                                            , MemoryManager* const manager) :
  +    fMemoryManager(manager)
       , fAdoptedElems(adoptElems)
       , fBucketList(0)
       , fHashModulus(modulus)
  @@ -127,8 +131,9 @@
   RefHash3KeysIdPool<TVal>::RefHash3KeysIdPool( const unsigned int modulus
                                               , const bool         adoptElems
                                               , HashBase*          hashBase
  -                                            , const unsigned int initSize) :
  -	fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +                                            , const unsigned int initSize
  +                                            , MemoryManager* const manager) :
  +	fMemoryManager(manager)
       , fAdoptedElems(adoptElems)
       , fBucketList(0)
       , fHashModulus(modulus)
  @@ -154,8 +159,9 @@
   
   template <class TVal>
   RefHash3KeysIdPool<TVal>::RefHash3KeysIdPool( const unsigned int modulus
  -                                            , const unsigned int initSize) :
  -	fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +                                            , const unsigned int initSize
  +                                            , MemoryManager* const manager) :
  +	fMemoryManager(manager)
       , fAdoptedElems(true)
       , fBucketList(0)
       , fHashModulus(modulus)
  
  
  
  1.5       +15 -8     xml-xerces/c/src/xercesc/util/RefHash3KeysIdPool.hpp
  
  Index: RefHash3KeysIdPool.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/RefHash3KeysIdPool.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- RefHash3KeysIdPool.hpp	15 May 2003 19:04:35 -0000	1.4
  +++ RefHash3KeysIdPool.hpp	16 May 2003 06:01:52 -0000	1.5
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.5  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.4  2003/05/15 19:04:35  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -150,16 +153,18 @@
       // backwards compatability - default hasher is HashXMLCh
       RefHash3KeysIdPool
       (
  -        const unsigned int modulus
  -      , const unsigned int    initSize = 128
  +          const unsigned int   modulus
  +        , const unsigned int   initSize = 128
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
   
       // backwards compatability - default hasher is HashXMLCh
       RefHash3KeysIdPool
       (
  -        const unsigned int modulus
  -      , const bool adoptElems
  -      , const unsigned int initSize = 128
  +          const unsigned int   modulus
  +        , const bool           adoptElems
  +        , const unsigned int   initSize = 128
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
   
       // if a hash function is passed in, it will be deleted when the hashtable is deleted.
  @@ -167,9 +172,11 @@
       // may delete the hasher of a different hashtable if both use the same hasher.
       RefHash3KeysIdPool
       (
  -         const unsigned int modulus
  -       , const bool adoptElems, HashBase* hashBase
  -       , const unsigned int initSize = 128
  +          const unsigned int   modulus
  +        , const bool           adoptElems
  +        , HashBase* hashBase
  +        , const unsigned int initSize = 128
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
   
       ~RefHash3KeysIdPool();
  
  
  
  1.3       +8 -3      xml-xerces/c/src/xercesc/util/RefStackOf.c
  
  Index: RefStackOf.c
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/RefStackOf.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- RefStackOf.c	4 Nov 2002 15:22:04 -0000	1.2
  +++ RefStackOf.c	16 May 2003 06:01:52 -0000	1.3
  @@ -56,6 +56,9 @@
   
   /**
    * $Log$
  + * Revision 1.3  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.2  2002/11/04 15:22:04  tng
    * C++ Namespace Support.
    *
  @@ -91,10 +94,12 @@
   // ---------------------------------------------------------------------------
   //  RefStackOf: Constructors and Destructor
   // ---------------------------------------------------------------------------
  -template <class TElem> RefStackOf<TElem>::
  -RefStackOf(const unsigned int initElems, const bool adoptElems) :
  +template <class TElem>
  +RefStackOf<TElem>::RefStackOf(const unsigned int initElems,
  +                              const bool adoptElems,
  +                              MemoryManager* const manager) :
   
  -    fVector(initElems, adoptElems)
  +    fVector(initElems, adoptElems, manager)
   {
   }
   
  
  
  
  1.5       +6 -1      xml-xerces/c/src/xercesc/util/RefStackOf.hpp
  
  Index: RefStackOf.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/RefStackOf.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- RefStackOf.hpp	15 May 2003 19:07:45 -0000	1.4
  +++ RefStackOf.hpp	16 May 2003 06:01:52 -0000	1.5
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.5  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.4  2003/05/15 19:07:45  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -108,7 +111,9 @@
       // -----------------------------------------------------------------------
       //  Constructors and Destructor
       // -----------------------------------------------------------------------
  -    RefStackOf(const unsigned int initElems, const bool adoptElems = true);
  +    RefStackOf(const unsigned int initElems,
  +               const bool adoptElems = true,
  +               MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
       ~RefStackOf();
   
   
  
  
  
  1.9       +8 -1      xml-xerces/c/src/xercesc/util/RefVectorOf.c
  
  Index: RefVectorOf.c
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/RefVectorOf.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- RefVectorOf.c	15 May 2003 19:07:45 -0000	1.8
  +++ RefVectorOf.c	16 May 2003 06:01:52 -0000	1.9
  @@ -56,6 +56,9 @@
   
   /**
    * $Log$
  + * Revision 1.9  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.8  2003/05/15 19:07:45  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -118,7 +121,11 @@
   // ---------------------------------------------------------------------------
   //  RefVectorOf: Constructors and Destructor
   // ---------------------------------------------------------------------------
  -template <class TElem> RefVectorOf<TElem>::RefVectorOf(const unsigned int maxElems, const bool adoptElems) : BaseRefVectorOf<TElem>(maxElems, adoptElems)
  +template <class TElem>
  +RefVectorOf<TElem>::RefVectorOf(const unsigned int maxElems,
  +                                const bool adoptElems,
  +                                MemoryManager* const manager)
  +    : BaseRefVectorOf<TElem>(maxElems, adoptElems, manager)
   {
   }
   
  
  
  
  1.8       +6 -1      xml-xerces/c/src/xercesc/util/RefVectorOf.hpp
  
  Index: RefVectorOf.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/RefVectorOf.hpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- RefVectorOf.hpp	15 May 2003 19:07:45 -0000	1.7
  +++ RefVectorOf.hpp	16 May 2003 06:01:52 -0000	1.8
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.8  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.7  2003/05/15 19:07:45  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -118,7 +121,9 @@
       // -----------------------------------------------------------------------
       //  Constructor
       // -----------------------------------------------------------------------
  -    RefVectorOf(const unsigned int maxElems, const bool adoptElems = true);
  +    RefVectorOf(const unsigned int maxElems,
  +                const bool adoptElems = true,
  +                MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
   
       // -----------------------------------------------------------------------
       //  Destructor
  
  
  
  1.4       +10 -5     xml-xerces/c/src/xercesc/util/StringPool.cpp
  
  Index: StringPool.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/StringPool.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- StringPool.cpp	15 May 2003 19:07:45 -0000	1.3
  +++ StringPool.cpp	16 May 2003 06:01:52 -0000	1.4
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.4  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.3  2003/05/15 19:07:45  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -103,10 +106,11 @@
   //  StringPool::PoolElem: Constructors and Destructor
   // ---------------------------------------------------------------------------
   XMLStringPool::PoolElem::PoolElem( const   XMLCh* const string
  -                                 , const unsigned int id) :
  +                                 , const unsigned int id
  +                                 , MemoryManager* const manager) :
       fId(id)
       , fString(0)
  -    , fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    , fMemoryManager(manager)
   {
       fString = XMLString::replicate(string, fMemoryManager);
   }
  @@ -133,9 +137,10 @@
   // ---------------------------------------------------------------------------
   //  XMLStringPool: Constructors and Destructor
   // ---------------------------------------------------------------------------
  -XMLStringPool::XMLStringPool(const  unsigned int  modulus) :
  +XMLStringPool::XMLStringPool(const  unsigned int  modulus,
  +                             MemoryManager* const manager) :
   
  -    fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    fMemoryManager(manager)
       , fIdMap(0)
       , fHashTable(0)
       , fMapCapacity(64)
  @@ -246,7 +251,7 @@
       //  this new element in the id map at the current id index, then bump the
       //  id index.
       //
  -    PoolElem* newElem = new (fMemoryManager) PoolElem(newString, fCurId);
  +    PoolElem* newElem = new (fMemoryManager) PoolElem(newString, fCurId, fMemoryManager);
       fHashTable->put((void*)(newElem->getKey()), newElem);
       fIdMap[fCurId] = newElem;
   
  
  
  
  1.5       +8 -2      xml-xerces/c/src/xercesc/util/StringPool.hpp
  
  Index: StringPool.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/StringPool.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- StringPool.hpp	15 May 2003 19:07:45 -0000	1.4
  +++ StringPool.hpp	16 May 2003 06:01:52 -0000	1.5
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.5  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.4  2003/05/15 19:07:45  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -116,7 +119,8 @@
       // -----------------------------------------------------------------------
       XMLStringPool
       (
  -        const   unsigned int    modulus = 109
  +          const unsigned int   modulus = 109
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
       ~XMLStringPool();
   
  @@ -139,7 +143,9 @@
       class PoolElem : public XMemory
       {
           public :
  -            PoolElem(const XMLCh* const string, const unsigned int id);
  +            PoolElem(const XMLCh* const string,
  +                     const unsigned int id,
  +                     MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
               ~PoolElem();
   
               inline const XMLCh* getKey() const { return fString; }
  
  
  
  1.4       +11 -6     xml-xerces/c/src/xercesc/util/ValueArrayOf.c
  
  Index: ValueArrayOf.c
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/ValueArrayOf.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ValueArrayOf.c	15 May 2003 19:07:46 -0000	1.3
  +++ ValueArrayOf.c	16 May 2003 06:01:52 -0000	1.4
  @@ -56,6 +56,9 @@
   
   /**
    * $Log$
  + * Revision 1.4  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.3  2003/05/15 19:07:46  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -95,23 +98,25 @@
   // ---------------------------------------------------------------------------
   //  ValueArrayOf: Contructors and Destructor
   // ---------------------------------------------------------------------------
  -template <class TElem> ValueArrayOf<TElem>::
  -ValueArrayOf(const unsigned int size) :
  +template <class TElem>
  +ValueArrayOf<TElem>::ValueArrayOf(const unsigned int size,
  +                                  MemoryManager* const manager) :
   
       fSize(size)
       , fArray(0)
  -    , fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    , fMemoryManager(manager)
   {
       fArray = (TElem*) fMemoryManager->allocate(fSize * sizeof(TElem)); //new TElem[fSize];
   }
   
   template <class TElem>
   ValueArrayOf<TElem>::ValueArrayOf( const TElem* values
  -                                 , const unsigned int size) :
  +                                 , const unsigned int size
  +                                 , MemoryManager* const manager) :
   
       fSize(size)
       , fArray(0)
  -    , fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    , fMemoryManager(manager)
   {
       fArray = (TElem*) fMemoryManager->allocate(fSize * sizeof(TElem)); //new TElem[fSize];
       for (unsigned int index = 0; index < fSize; index++)
  @@ -123,7 +128,7 @@
   
       fSize(source.fSize)
       , fArray(0)
  -    , fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    , fMemoryManager(source.fMemoryManager)
   {
       fArray = (TElem*) fMemoryManager->allocate(fSize * sizeof(TElem)); //new TElem[fSize];
       for (unsigned int index = 0; index < fSize; index++)
  
  
  
  1.5       +14 -2     xml-xerces/c/src/xercesc/util/ValueArrayOf.hpp
  
  Index: ValueArrayOf.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/ValueArrayOf.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ValueArrayOf.hpp	15 May 2003 19:07:46 -0000	1.4
  +++ ValueArrayOf.hpp	16 May 2003 06:01:52 -0000	1.5
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.5  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.4  2003/05/15 19:07:46  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -105,8 +108,17 @@
       // -----------------------------------------------------------------------
       //  Contructors and Destructor
       // -----------------------------------------------------------------------
  -    ValueArrayOf(const unsigned int size);
  -	ValueArrayOf(const TElem* values, const unsigned int size);
  +    ValueArrayOf
  +    (
  +           const unsigned int   size
  +         , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
  +    );
  +	ValueArrayOf
  +    (
  +          const TElem*         values
  +        , const unsigned int   size
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
  +    );
   	ValueArrayOf(const ValueArrayOf<TElem>& source);
   	~ValueArrayOf();
   
  
  
  
  1.6       +9 -4      xml-xerces/c/src/xercesc/util/ValueHashTableOf.c
  
  Index: ValueHashTableOf.c
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/ValueHashTableOf.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ValueHashTableOf.c	15 May 2003 19:07:46 -0000	1.5
  +++ ValueHashTableOf.c	16 May 2003 06:01:52 -0000	1.6
  @@ -56,6 +56,9 @@
   
   /**
    * $Log$
  + * Revision 1.6  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.5  2003/05/15 19:07:46  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -84,8 +87,9 @@
   // ---------------------------------------------------------------------------
   template <class TVal>
   ValueHashTableOf<TVal>::ValueHashTableOf( const unsigned int modulus
  -                                        , HashBase* hashBase)
  -    : fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +                                        , HashBase* hashBase
  +                                        , MemoryManager* const manager)
  +    : fMemoryManager(manager)
       , fBucketList(0)
       , fHashModulus(modulus)
       , fHash(0)
  @@ -96,8 +100,9 @@
   }
   
   template <class TVal>
  -ValueHashTableOf<TVal>::ValueHashTableOf(const unsigned int modulus)
  -	: fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +ValueHashTableOf<TVal>::ValueHashTableOf( const unsigned int modulus
  +                                        , MemoryManager* const manager)
  +	: fMemoryManager(manager)
       , fBucketList(0)
       , fHashModulus(modulus)
       , fHash(0)
  
  
  
  1.8       +12 -3     xml-xerces/c/src/xercesc/util/ValueHashTableOf.hpp
  
  Index: ValueHashTableOf.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/ValueHashTableOf.hpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ValueHashTableOf.hpp	15 May 2003 19:07:46 -0000	1.7
  +++ ValueHashTableOf.hpp	16 May 2003 06:01:52 -0000	1.8
  @@ -105,11 +105,20 @@
       //  Constructors and Destructor
       // -----------------------------------------------------------------------
   	// backwards compatability - default hasher is HashXMLCh
  -    ValueHashTableOf(const unsigned int modulus);
  +    ValueHashTableOf
  +    (
  +          const unsigned int   modulus
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
  +    );
   	// if a hash function is passed in, it will be deleted when the hashtable is deleted.
   	// use a new instance of the hasher class for each hashtable, otherwise one hashtable
   	// may delete the hasher of a different hashtable if both use the same hasher.
  -    ValueHashTableOf(const unsigned int modulus, HashBase* hashBase);
  +    ValueHashTableOf
  +    (
  +          const unsigned int   modulus
  +        , HashBase*            hashBase
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
  +    );
       ~ValueHashTableOf();
   
   
  
  
  
  1.3       +7 -3      xml-xerces/c/src/xercesc/util/ValueStackOf.c
  
  Index: ValueStackOf.c
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/ValueStackOf.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ValueStackOf.c	4 Nov 2002 15:22:05 -0000	1.2
  +++ ValueStackOf.c	16 May 2003 06:01:52 -0000	1.3
  @@ -56,6 +56,9 @@
   
   /**
    * $Log$
  + * Revision 1.3  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.2  2002/11/04 15:22:05  tng
    * C++ Namespace Support.
    *
  @@ -92,10 +95,11 @@
   // ---------------------------------------------------------------------------
   //  ValueStackOf: Constructors and Destructor
   // ---------------------------------------------------------------------------
  -template <class TElem> ValueStackOf<TElem>::
  -ValueStackOf(const unsigned int fInitCapacity) :
  +template <class TElem>
  +ValueStackOf<TElem>::ValueStackOf(const unsigned int fInitCapacity,
  +                                  MemoryManager* const manager) :
   
  -    fVector(fInitCapacity)
  +    fVector(fInitCapacity, manager)
   {
   }
   
  
  
  
  1.5       +8 -1      xml-xerces/c/src/xercesc/util/ValueStackOf.hpp
  
  Index: ValueStackOf.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/ValueStackOf.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ValueStackOf.hpp	15 May 2003 19:07:46 -0000	1.4
  +++ ValueStackOf.hpp	16 May 2003 06:01:52 -0000	1.5
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.5  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.4  2003/05/15 19:07:46  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -108,7 +111,11 @@
       // -----------------------------------------------------------------------
       //  Constructors and Destructor
       // -----------------------------------------------------------------------
  -    ValueStackOf(const unsigned int fInitCapacity);
  +    ValueStackOf
  +    (
  +          const unsigned int fInitCapacity
  +		  , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
  +    );
       ~ValueStackOf();
   
   
  
  
  
  1.4       +7 -3      xml-xerces/c/src/xercesc/util/ValueVectorOf.c
  
  Index: ValueVectorOf.c
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/ValueVectorOf.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ValueVectorOf.c	15 May 2003 19:07:46 -0000	1.3
  +++ ValueVectorOf.c	16 May 2003 06:01:52 -0000	1.4
  @@ -56,6 +56,9 @@
   
   /**
    * $Log$
  + * Revision 1.4  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.3  2003/05/15 19:07:46  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -101,12 +104,13 @@
   //  ValueVectorOf: Constructors and Destructor
   // ---------------------------------------------------------------------------
   template <class TElem>
  -ValueVectorOf<TElem>::ValueVectorOf(const unsigned int maxElems) :
  +ValueVectorOf<TElem>::ValueVectorOf(const unsigned int maxElems,
  +                                    MemoryManager* const manager) :
   
       fCurCount(0)
       , fMaxCount(maxElems)
       , fElemList(0)
  -    , fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    , fMemoryManager(manager)
   {
       fElemList = (TElem*) fMemoryManager->allocate
       (
  @@ -120,7 +124,7 @@
       fCurCount(toCopy.fCurCount)
       , fMaxCount(toCopy.fMaxCount)
       , fElemList(0)
  -    , fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    , fMemoryManager(toCopy.fMemoryManager)
   {
       fElemList = (TElem*) fMemoryManager->allocate
       (
  
  
  
  1.5       +8 -1      xml-xerces/c/src/xercesc/util/ValueVectorOf.hpp
  
  Index: ValueVectorOf.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/ValueVectorOf.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ValueVectorOf.hpp	15 May 2003 19:07:46 -0000	1.4
  +++ ValueVectorOf.hpp	16 May 2003 06:01:52 -0000	1.5
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.5  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.4  2003/05/15 19:07:46  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -110,7 +113,11 @@
       // -----------------------------------------------------------------------
       //  Constructors and Destructor
       // -----------------------------------------------------------------------
  -    ValueVectorOf(const unsigned int maxElems);
  +    ValueVectorOf
  +    (
  +        const unsigned int maxElems
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
  +    );
       ValueVectorOf(const ValueVectorOf<TElem>& toCopy);
       ~ValueVectorOf();
   
  
  
  
  1.13      +6 -3      xml-xerces/c/src/xercesc/util/XMLAbstractDoubleFloat.cpp
  
  Index: XMLAbstractDoubleFloat.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLAbstractDoubleFloat.cpp,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- XMLAbstractDoubleFloat.cpp	15 May 2003 19:07:46 -0000	1.12
  +++ XMLAbstractDoubleFloat.cpp	16 May 2003 06:01:52 -0000	1.13
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.13  2003/05/16 06:01:52  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.12  2003/05/15 19:07:46  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -123,14 +126,14 @@
   // ---------------------------------------------------------------------------
   //  ctor/dtor
   // ---------------------------------------------------------------------------
  -XMLAbstractDoubleFloat::XMLAbstractDoubleFloat()
  +XMLAbstractDoubleFloat::XMLAbstractDoubleFloat(MemoryManager* const manager)
   : fValue(0)
   , fType(Normal)
   , fDataConverted(false)
   , fSign(0)
   , fRawData(0)
   , fFormattedString(0)
  -, fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +, fMemoryManager(manager)
   {
   }
   
  
  
  
  1.12      +5 -2      xml-xerces/c/src/xercesc/util/XMLAbstractDoubleFloat.hpp
  
  Index: XMLAbstractDoubleFloat.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLAbstractDoubleFloat.hpp,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- XMLAbstractDoubleFloat.hpp	15 May 2003 19:07:46 -0000	1.11
  +++ XMLAbstractDoubleFloat.hpp	16 May 2003 06:01:53 -0000	1.12
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.12  2003/05/16 06:01:53  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.11  2003/05/15 19:07:46  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -178,7 +181,7 @@
       //
       // To be used by derived class exclusively
       //
  -    XMLAbstractDoubleFloat();
  +    XMLAbstractDoubleFloat(MemoryManager* const manager);
   
       void                  init(const XMLCh* const strValue);
   
  
  
  
  1.9       +6 -2      xml-xerces/c/src/xercesc/util/XMLBigDecimal.cpp
  
  Index: XMLBigDecimal.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLBigDecimal.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- XMLBigDecimal.cpp	15 May 2003 19:07:46 -0000	1.8
  +++ XMLBigDecimal.cpp	16 May 2003 06:01:53 -0000	1.9
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.9  2003/05/16 06:01:53  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.8  2003/05/15 19:07:46  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -134,13 +137,14 @@
   //
   **/
   
  -XMLBigDecimal::XMLBigDecimal(const XMLCh* const strValue)
  +XMLBigDecimal::XMLBigDecimal(const XMLCh* const strValue,
  +                             MemoryManager* const manager)
   : fSign(0)
   , fTotalDigits(0)
   , fScale(0)
   , fIntVal(0)
   , fRawData(0)
  -, fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +, fMemoryManager(manager)
   {
       if ((!strValue) || (!*strValue))
           ThrowXML(NumberFormatException, XMLExcepts::XMLNUM_emptyString);
  
  
  
  1.10      +6 -2      xml-xerces/c/src/xercesc/util/XMLBigDecimal.hpp
  
  Index: XMLBigDecimal.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLBigDecimal.hpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- XMLBigDecimal.hpp	15 May 2003 19:07:46 -0000	1.9
  +++ XMLBigDecimal.hpp	16 May 2003 06:01:53 -0000	1.10
  @@ -81,7 +81,11 @@
        *               contain a parsable XMLBigDecimal.
        */
   
  -    XMLBigDecimal(const XMLCh* const strValue);
  +    XMLBigDecimal
  +    (
  +        const XMLCh* const strValue
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
  +    );
   
       ~XMLBigDecimal();
   
  
  
  
  1.5       +6 -2      xml-xerces/c/src/xercesc/util/XMLBigInteger.cpp
  
  Index: XMLBigInteger.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLBigInteger.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XMLBigInteger.cpp	15 May 2003 19:07:46 -0000	1.4
  +++ XMLBigInteger.cpp	16 May 2003 06:01:53 -0000	1.5
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.5  2003/05/16 06:01:53  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.4  2003/05/15 19:07:46  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -213,11 +216,12 @@
   	 * inclusive, will result in a NumberFormatException.
    */
   
  -XMLBigInteger::XMLBigInteger(const XMLCh* const strValue)
  +XMLBigInteger::XMLBigInteger(const XMLCh* const strValue,
  +                             MemoryManager* const manager)
   : fSign(0)
   , fMagnitude(0)
   , fRawData(0)
  -, fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +, fMemoryManager(manager)
   {
       if (!strValue)
           ThrowXML(NumberFormatException, XMLExcepts::XMLNUM_emptyString);
  
  
  
  1.8       +6 -3      xml-xerces/c/src/xercesc/util/XMLBigInteger.hpp
  
  Index: XMLBigInteger.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLBigInteger.hpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- XMLBigInteger.hpp	15 May 2003 19:07:46 -0000	1.7
  +++ XMLBigInteger.hpp	16 May 2003 06:01:53 -0000	1.8
  @@ -81,8 +81,11 @@
        *               contain a parsable XMLBigInteger.
        */
   
  -    XMLBigInteger(const XMLCh* const strValue);
  -
  +    XMLBigInteger
  +    (
  +        const XMLCh* const strValue
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
  +    );
       ~XMLBigInteger();
   
       XMLBigInteger(const XMLBigInteger& toCopy);
  
  
  
  1.10      +7 -3      xml-xerces/c/src/xercesc/util/XMLDouble.cpp
  
  Index: XMLDouble.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLDouble.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- XMLDouble.cpp	16 May 2003 03:11:22 -0000	1.9
  +++ XMLDouble.cpp	16 May 2003 06:01:53 -0000	1.10
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.10  2003/05/16 06:01:53  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.9  2003/05/16 03:11:22  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -151,8 +154,9 @@
   // ---------------------------------------------------------------------------
   //  ctor/dtor
   // ---------------------------------------------------------------------------
  -XMLDouble::XMLDouble(const XMLCh* const strValue)
  -:XMLAbstractDoubleFloat()
  +XMLDouble::XMLDouble(const XMLCh* const strValue,
  +                     MemoryManager* const manager)
  +:XMLAbstractDoubleFloat(manager)
   {
       init(strValue);
   }
  
  
  
  1.5       +6 -2      xml-xerces/c/src/xercesc/util/XMLDouble.hpp
  
  Index: XMLDouble.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLDouble.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XMLDouble.hpp	11 Dec 2002 00:20:02 -0000	1.4
  +++ XMLDouble.hpp	16 May 2003 06:01:53 -0000	1.5
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.5  2003/05/16 06:01:53  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.4  2002/12/11 00:20:02  peiyongz
    * Doing businesss in value space. Converting out-of-bound value into special values.
    *
  @@ -122,7 +125,8 @@
   	 *               contain a parsable XMLDouble.
   	 */
   
  -    XMLDouble(const XMLCh* const strValue);
  +    XMLDouble(const XMLCh* const strValue,
  +              MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
   
       ~XMLDouble();
   
  
  
  
  1.11      +7 -3      xml-xerces/c/src/xercesc/util/XMLFloat.cpp
  
  Index: XMLFloat.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLFloat.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- XMLFloat.cpp	16 May 2003 03:11:22 -0000	1.10
  +++ XMLFloat.cpp	16 May 2003 06:01:53 -0000	1.11
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.11  2003/05/16 06:01:53  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.10  2003/05/16 03:11:22  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -146,8 +149,9 @@
   // ---------------------------------------------------------------------------
   //  ctor/dtor
   // ---------------------------------------------------------------------------
  -XMLFloat::XMLFloat(const XMLCh* const strValue)
  -:XMLAbstractDoubleFloat()
  +XMLFloat::XMLFloat(const XMLCh* const strValue,
  +                   MemoryManager* const manager)
  +:XMLAbstractDoubleFloat(manager)
   {
       init(strValue);
   }
  
  
  
  1.5       +6 -2      xml-xerces/c/src/xercesc/util/XMLFloat.hpp
  
  Index: XMLFloat.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLFloat.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XMLFloat.hpp	11 Dec 2002 00:20:02 -0000	1.4
  +++ XMLFloat.hpp	16 May 2003 06:01:53 -0000	1.5
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.5  2003/05/16 06:01:53  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.4  2002/12/11 00:20:02  peiyongz
    * Doing businesss in value space. Converting out-of-bound value into special values.
    *
  @@ -117,7 +120,8 @@
   	 *               contain a parsable XMLFloat.
   	 */
   
  -    XMLFloat(const XMLCh* const strValue);
  +    XMLFloat(const XMLCh* const strValue,
  +             MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
   
       ~XMLFloat();
   
  
  
  
  1.7       +21 -17    xml-xerces/c/src/xercesc/util/XMLURL.cpp
  
  Index: XMLURL.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLURL.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XMLURL.cpp	15 May 2003 19:07:46 -0000	1.6
  +++ XMLURL.cpp	16 May 2003 06:01:53 -0000	1.7
  @@ -181,9 +181,9 @@
   // ---------------------------------------------------------------------------
   //  XMLURL: Constructors and Destructor
   // ---------------------------------------------------------------------------
  -XMLURL::XMLURL() :
  +XMLURL::XMLURL(MemoryManager* const manager) :
   
  -    fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    fMemoryManager(manager)
       , fFragment(0)
       , fHost(0)
       , fPassword(0)
  @@ -198,9 +198,10 @@
   }
   
   XMLURL::XMLURL(const XMLCh* const    baseURL
  -             , const XMLCh* const    relativeURL) :
  +             , const XMLCh* const    relativeURL
  +             , MemoryManager* const manager) :
   
  -    fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    fMemoryManager(manager)
       , fFragment(0)
       , fHost(0)
       , fPassword(0)
  @@ -223,10 +224,11 @@
       }
   }
   
  -XMLURL::XMLURL(const XMLCh* const    baseURL
  -             , const char* const     relativeURL) :
  +XMLURL::XMLURL(const XMLCh* const  baseURL
  +             , const char* const   relativeURL
  +             , MemoryManager* const manager) :
   
  -    fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    fMemoryManager(manager)
       , fFragment(0)
       , fHost(0)
       , fPassword(0)
  @@ -254,7 +256,7 @@
   XMLURL::XMLURL(const XMLURL&         baseURL
                , const XMLCh* const    relativeURL) :
   
  -    fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    fMemoryManager(baseURL.fMemoryManager)
       , fFragment(0)
       , fHost(0)
       , fPassword(0)
  @@ -280,7 +282,7 @@
   XMLURL::XMLURL(const  XMLURL&        baseURL
                , const char* const     relativeURL) :
   
  -    fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    fMemoryManager(baseURL.fMemoryManager)
       , fFragment(0)
       , fHost(0)
       , fPassword(0)
  @@ -306,9 +308,10 @@
   
   }
   
  -XMLURL::XMLURL(const XMLCh* const urlText) :
  +XMLURL::XMLURL(const XMLCh* const urlText,
  +               MemoryManager* const manager) :
   
  -    fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    fMemoryManager(manager)
       , fFragment(0)
       , fHost(0)
       , fPassword(0)
  @@ -331,9 +334,10 @@
       }
   }
   
  -XMLURL::XMLURL(const char* const urlText) :
  +XMLURL::XMLURL(const char* const urlText,
  +               MemoryManager* const manager) :
   
  -    fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    fMemoryManager(manager)
       , fFragment(0)
       , fHost(0)
       , fPassword(0)
  @@ -360,7 +364,7 @@
   
   XMLURL::XMLURL(const XMLURL& toCopy) :
   
  -    fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +    fMemoryManager(toCopy.fMemoryManager)
       , fFragment(0)
       , fHost(0)
       , fPassword(0)
  @@ -490,7 +494,7 @@
   	{
   		if (*baseURL)
   		{
  -			XMLURL basePart(baseURL);
  +			XMLURL basePart(baseURL, fMemoryManager);
   			if (!conglomerateWithBase(basePart, false))
   			{
   				cleanup();
  @@ -617,7 +621,7 @@
       if (!isRelative())
           return;
   
  -    XMLURL baseURL(baseURLText);
  +    XMLURL baseURL(baseURLText, fMemoryManager);
       conglomerateWithBase(baseURL);
   }
   
  
  
  
  1.7       +7 -3      xml-xerces/c/src/xercesc/util/XMLURL.hpp
  
  Index: XMLURL.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLURL.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XMLURL.hpp	15 May 2003 19:07:46 -0000	1.6
  +++ XMLURL.hpp	16 May 2003 06:01:53 -0000	1.7
  @@ -61,7 +61,7 @@
   #if !defined(XMLURL_HPP)
   #define XMLURL_HPP
   
  -#include <xercesc/util/XMLException.hpp>
  +#include <xercesc/util/PlatformUtils.hpp>
   
   XERCES_CPP_NAMESPACE_BEGIN
   
  @@ -100,16 +100,18 @@
       // -----------------------------------------------------------------------
       //  Constructors and Destructor
       // -----------------------------------------------------------------------
  -    XMLURL();
  +    XMLURL(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
       XMLURL
       (
           const   XMLCh* const    baseURL
           , const XMLCh* const    relativeURL
  +        , MemoryManager* const manager  = XMLPlatformUtils::fgMemoryManager
       );
       XMLURL
       (
           const   XMLCh* const    baseURL
           , const char* const     relativeURL
  +        , MemoryManager* const manager  = XMLPlatformUtils::fgMemoryManager
       );
       XMLURL
       (
  @@ -124,10 +126,12 @@
       XMLURL
       (
           const   XMLCh* const    urlText
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
       XMLURL
       (
           const   char* const     urlText
  +        , MemoryManager* const manager 
       );
       XMLURL(const XMLURL& toCopy);
       virtual ~XMLURL();
  
  
  
  1.12      +8 -6      xml-xerces/c/src/xercesc/util/XMLUri.cpp
  
  Index: XMLUri.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLUri.cpp,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- XMLUri.cpp	15 May 2003 19:07:46 -0000	1.11
  +++ XMLUri.cpp	16 May 2003 06:01:53 -0000	1.12
  @@ -241,7 +241,8 @@
   //  XMLUri: Constructors and Helper methods
   // ---------------------------------------------------------------------------
   // ctor# 2
  -XMLUri::XMLUri(const XMLCh* const uriSpec)
  +XMLUri::XMLUri(const XMLCh* const uriSpec,
  +               MemoryManager* const manager)
   : fScheme(0)
   , fUserInfo(0)
   , fHost(0)
  @@ -250,7 +251,7 @@
   , fQueryString(0)
   , fFragment(0)
   , fURIText(0)
  -, fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +, fMemoryManager(manager)
   {
       try {
           initialize((XMLUri *)0, uriSpec);
  @@ -264,7 +265,8 @@
   
   // ctor# 7 relative ctor
   XMLUri::XMLUri(const XMLUri* const      baseURI
  -                    , const XMLCh* const       uriSpec)
  +              , const XMLCh* const   uriSpec
  +              , MemoryManager* const manager)
   : fScheme(0)
   , fUserInfo(0)
   , fHost(0)
  @@ -273,7 +275,7 @@
   , fQueryString(0)
   , fFragment(0)
   , fURIText(0)
  -, fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +, fMemoryManager(manager)
   {
       try {
           initialize(baseURI, uriSpec);
  @@ -295,7 +297,7 @@
   , fQueryString(0)
   , fFragment(0)
   , fURIText(0)
  -, fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +, fMemoryManager(toCopy.fMemoryManager)
   {
       try {
           initialize(toCopy);
  
  
  
  1.9       +9 -4      xml-xerces/c/src/xercesc/util/XMLUri.hpp
  
  Index: XMLUri.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLUri.hpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- XMLUri.hpp	15 May 2003 19:07:46 -0000	1.8
  +++ XMLUri.hpp	16 May 2003 06:01:53 -0000	1.9
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.9  2003/05/16 06:01:53  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.8  2003/05/15 19:07:46  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -143,7 +146,8 @@
        * ctor# 2
        *
        */
  -    XMLUri(const XMLCh* const    uriSpec);
  +    XMLUri(const XMLCh* const    uriSpec,
  +           MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
   
       /**
        * Construct a new URI from a base URI and a URI specification string.
  @@ -157,8 +161,9 @@
        * ctor# 7 relative ctor
        *
        */
  -    XMLUri(const XMLUri* const     baseURI
  -         , const XMLCh* const      uriSpec);
  +    XMLUri(const XMLUri* const  baseURI
  +         , const XMLCh* const   uriSpec
  +         , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
   
       /**
        * Copy constructor
  
  
  
  1.6       +4 -1      xml-xerces/c/src/xercesc/util/Transcoders/Cygwin/CygwinTransService.cpp
  
  Index: CygwinTransService.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/Transcoders/Cygwin/CygwinTransService.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- CygwinTransService.cpp	15 May 2003 18:47:02 -0000	1.5
  +++ CygwinTransService.cpp	16 May 2003 06:01:57 -0000	1.6
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.6  2003/05/16 06:01:57  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.5  2003/05/15 18:47:02  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -144,7 +147,7 @@
   //  This is the simple CPMapEntry class. It just contains an encoding name
   //  and a code page for that encoding.
   // ---------------------------------------------------------------------------
  -class CPMapEntry
  +class CPMapEntry : public XMemory
   {
   public :
       // -----------------------------------------------------------------------
  
  
  
  1.12      +21 -10    xml-xerces/c/src/xercesc/util/Transcoders/Win32/Win32TransService.cpp
  
  Index: Win32TransService.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/Transcoders/Win32/Win32TransService.cpp,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Win32TransService.cpp	15 May 2003 18:47:07 -0000	1.11
  +++ Win32TransService.cpp	16 May 2003 06:01:57 -0000	1.12
  @@ -92,7 +92,7 @@
   //  This is the simple CPMapEntry class. It just contains an encoding name
   //  and a code page for that encoding.
   // ---------------------------------------------------------------------------
  -class CPMapEntry
  +class CPMapEntry : public XMemory
   {
   public :
       // -----------------------------------------------------------------------
  @@ -170,7 +170,10 @@
           const unsigned int targetLen = srcLen/charLen;
   
   
  -        fEncodingName = new XMLCh[targetLen + 1];
  +        fEncodingName = (XMLCh*) XMLPlatformUtils::fgMemoryManager->allocate
  +        (
  +            (targetLen + 1) * sizeof(XMLCh)
  +        );//new XMLCh[targetLen + 1];
           ::mbstowcs(fEncodingName, encodingName, srcLen);
           fEncodingName[targetLen] = 0;
   
  @@ -201,7 +204,7 @@
   
   CPMapEntry::~CPMapEntry()
   {
  -    delete [] fEncodingName;
  +    XMLPlatformUtils::fgMemoryManager->deallocate(fEncodingName);//delete [] fEncodingName;
   }
   
   
  @@ -407,7 +410,10 @@
               if (charLen != -1) {
                   const unsigned int targetLen = srcLen/charLen;
   
  -                XMLCh* uniAlias = new XMLCh[targetLen + 1];
  +                XMLCh* uniAlias = (XMLCh*) XMLPlatformUtils::fgMemoryManager->allocate
  +                (
  +                    (targetLen + 1) * sizeof(XMLCh)
  +                );//new XMLCh[targetLen + 1];
                   ::mbstowcs(uniAlias, aliasBuf, srcLen);
                   uniAlias[targetLen] = 0;
                   _wcsupr(uniAlias);
  @@ -420,7 +426,10 @@
                       const unsigned charLen = ::mblen(nameBuf, MB_CUR_MAX);
                       const unsigned int targetLen = srcLen/charLen;
                       
  -                    XMLCh* uniName = new XMLCh[targetLen + 1];
  +                    XMLCh* uniName = (XMLCh*) XMLPlatformUtils::fgMemoryManager->allocate
  +                    (
  +                        (targetLen + 1) * sizeof(XMLCh)
  +                    );//new XMLCh[targetLen + 1];
                       ::mbstowcs(uniName, nameBuf, srcLen);
                       uniName[targetLen] = 0;
                       _wcsupr(uniName);
  @@ -436,9 +445,9 @@
                           fCPMap->put((void*)newEntry->getEncodingName(), newEntry);
                       }
   
  -                    delete [] uniName;
  +                    XMLPlatformUtils::fgMemoryManager->deallocate(uniName);//delete [] uniName;
                   }
  -                delete [] uniAlias;
  +                XMLPlatformUtils::fgMemoryManager->deallocate(uniAlias);//delete [] uniAlias;
               }
           }
   
  @@ -866,7 +875,8 @@
       return retVal;
   }
   
  -
  +// Return value using global operator new
  +// Revisit: deprecate ?
   char* Win32LCPTranscoder::transcode(const XMLCh* const toTranscode)
   {
       if (!toTranscode)
  @@ -932,7 +942,8 @@
       return retVal;
   }
   
  -
  +// Return value using global operator new
  +// Revisit: deprecate ?
   XMLCh* Win32LCPTranscoder::transcode(const char* const toTranscode)
   {
       if (!toTranscode)
  
  
  
  1.10      +19 -12    xml-xerces/c/src/xercesc/util/regx/RegularExpression.cpp
  
  Index: RegularExpression.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/regx/RegularExpression.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- RegularExpression.cpp	16 May 2003 00:03:10 -0000	1.9
  +++ RegularExpression.cpp	16 May 2003 06:01:57 -0000	1.10
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.10  2003/05/16 06:01:57  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.9  2003/05/16 00:03:10  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -236,7 +239,8 @@
   // ---------------------------------------------------------------------------
   //  RegularExpression: Constructors and Destructors
   // ---------------------------------------------------------------------------
  -RegularExpression::RegularExpression(const char* const pattern)
  +RegularExpression::RegularExpression(const char* const pattern,
  +                                     MemoryManager* const manager)
   	:fHasBackReferences(false),
   	 fFixedStringOnly(false),
   	 fNoGroups(0),
  @@ -250,9 +254,9 @@
   	 fOperations(0),
   	 fTokenTree(0),
   	 fFirstChar(0),
  -     fOpFactory(XMLPlatformUtils::fgMemoryManager),
  +     fOpFactory(manager),
        fTokenFactory(0),
  -     fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +     fMemoryManager(manager)
   {
   	try {
   
  @@ -268,7 +272,8 @@
   }
   
   RegularExpression::RegularExpression(const char* const pattern,
  -									 const char* const options)
  +									 const char* const options,
  +                                     MemoryManager* const manager)
   	:fHasBackReferences(false),
   	 fFixedStringOnly(false),
   	 fNoGroups(0),
  @@ -282,9 +287,9 @@
   	 fOperations(0),
   	 fTokenTree(0),
   	 fFirstChar(0),
  -     fOpFactory(XMLPlatformUtils::fgMemoryManager),
  +     fOpFactory(manager),
        fTokenFactory(0),
  -     fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +     fMemoryManager(manager)
   {
   	try {
   
  @@ -302,7 +307,8 @@
   }
   
   
  -RegularExpression::RegularExpression(const XMLCh* const pattern)
  +RegularExpression::RegularExpression(const XMLCh* const pattern,
  +                                     MemoryManager* const manager)
   	:fHasBackReferences(false),
   	 fFixedStringOnly(false),
   	 fNoGroups(0),
  @@ -316,9 +322,9 @@
   	 fOperations(0),
   	 fTokenTree(0),
   	 fFirstChar(0),
  -     fOpFactory(XMLPlatformUtils::fgMemoryManager),
  +     fOpFactory(manager),
        fTokenFactory(0),
  -     fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +     fMemoryManager(manager)
   {
   	try {
   
  @@ -332,7 +338,8 @@
   }
   
   RegularExpression::RegularExpression(const XMLCh* const pattern,
  -									 const XMLCh* const options)
  +									 const XMLCh* const options,
  +                                     MemoryManager* const manager)
   	:fHasBackReferences(false),
   	 fFixedStringOnly(false),
   	 fNoGroups(0),
  @@ -346,9 +353,9 @@
   	 fOperations(0),
   	 fTokenTree(0),
   	 fFirstChar(0),
  -     fOpFactory(XMLPlatformUtils::fgMemoryManager),
  +     fOpFactory(manager),
        fTokenFactory(0),
  -     fMemoryManager(XMLPlatformUtils::fgMemoryManager)
  +     fMemoryManager(manager)
   {
   	try {
   
  
  
  
  1.9       +23 -5     xml-xerces/c/src/xercesc/util/regx/RegularExpression.hpp
  
  Index: RegularExpression.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/regx/RegularExpression.hpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- RegularExpression.hpp	16 May 2003 00:03:10 -0000	1.8
  +++ RegularExpression.hpp	16 May 2003 06:01:57 -0000	1.9
  @@ -89,10 +89,28 @@
       // -----------------------------------------------------------------------
       //  Public Constructors and Destructor
       // -----------------------------------------------------------------------
  -    RegularExpression(const char* const pattern);
  -    RegularExpression(const char* const pattern, const char* const options);
  -    RegularExpression(const XMLCh* const pattern);
  -    RegularExpression(const XMLCh* const pattern, const XMLCh* const options);
  +    RegularExpression
  +    (
  +        const char* const pattern
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
  +    );
  +    RegularExpression
  +    (
  +        const char* const pattern
  +        , const char* const options
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
  +    );
  +    RegularExpression
  +    (
  +        const XMLCh* const pattern
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
  +    );
  +    RegularExpression
  +    (
  +        const XMLCh* const pattern
  +        , const XMLCh* const options
  +        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
  +    );
       ~RegularExpression();
   
       // -----------------------------------------------------------------------
  
  
  
  1.12      +4 -1      xml-xerces/c/src/xercesc/validators/datatype/AbstractStringValidator.cpp
  
  Index: AbstractStringValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AbstractStringValidator.cpp,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- AbstractStringValidator.cpp	15 May 2003 18:53:26 -0000	1.11
  +++ AbstractStringValidator.cpp	16 May 2003 06:01:57 -0000	1.12
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.12  2003/05/16 06:01:57  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.11  2003/05/15 18:53:26  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -646,7 +649,7 @@
           // lazy construction
           if (getRegex() ==0) {
               try {
  -                setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption));
  +                setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption, fMemoryManager));
               }
               catch (XMLException &e)
               {
  
  
  
  1.5       +6 -3      xml-xerces/c/src/xercesc/validators/datatype/AnyURIDatatypeValidator.cpp
  
  Index: AnyURIDatatypeValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AnyURIDatatypeValidator.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- AnyURIDatatypeValidator.cpp	15 May 2003 18:53:26 -0000	1.4
  +++ AnyURIDatatypeValidator.cpp	16 May 2003 06:01:57 -0000	1.5
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.5  2003/05/16 06:01:57  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.4  2003/05/15 18:53:26  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -201,7 +204,7 @@
       try
       {
           if (!fTempURI)
  -            fTempURI = new XMLUri(BASE_URI);
  +            fTempURI = new XMLUri(BASE_URI, fMemoryManager);
   
           // Support for relative URLs
           // According to Java 1.1: URLs may also be specified with a
  @@ -209,7 +212,7 @@
           //
           if (XMLString::stringLen(content))
           {
  -            XMLUri  newURI(fTempURI, content );
  +            XMLUri  newURI(fTempURI, content, fMemoryManager);
           }
       }
       catch (...)
  
  
  
  1.8       +4 -1      xml-xerces/c/src/xercesc/validators/datatype/BooleanDatatypeValidator.cpp
  
  Index: BooleanDatatypeValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/BooleanDatatypeValidator.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- BooleanDatatypeValidator.cpp	15 May 2003 18:53:26 -0000	1.7
  +++ BooleanDatatypeValidator.cpp	16 May 2003 06:01:57 -0000	1.8
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.8  2003/05/16 06:01:57  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.7  2003/05/15 18:53:26  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -184,7 +187,7 @@
           // lazy construction
           if (getRegex() ==0) {
               try {
  -                setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption));
  +                setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption, fMemoryManager));
               }
               catch (XMLException &e)
               {
  
  
  
  1.6       +5 -2      xml-xerces/c/src/xercesc/validators/datatype/DateTimeValidator.cpp
  
  Index: DateTimeValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DateTimeValidator.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- DateTimeValidator.cpp	15 May 2003 18:53:26 -0000	1.5
  +++ DateTimeValidator.cpp	16 May 2003 06:01:57 -0000	1.6
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.6  2003/05/16 06:01:57  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.5  2003/05/15 18:53:26  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -179,7 +182,7 @@
           // lazy construction
           if (getRegex() ==0) {
               try {
  -                setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption));
  +                setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption, fMemoryManager));
               }
               catch (XMLException &e)
               {
  
  
  
  1.10      +4 -1      xml-xerces/c/src/xercesc/validators/datatype/DecimalDatatypeValidator.cpp
  
  Index: DecimalDatatypeValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DecimalDatatypeValidator.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- DecimalDatatypeValidator.cpp	15 May 2003 18:53:26 -0000	1.9
  +++ DecimalDatatypeValidator.cpp	16 May 2003 06:01:57 -0000	1.10
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.10  2003/05/16 06:01:57  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.9  2003/05/15 18:53:26  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -492,7 +495,7 @@
           // lazy construction
           if (getRegex() ==0) {
               try {
  -                setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption));
  +                setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption, fMemoryManager));
               }
               catch (XMLException &e)
               {
  
  
  
  1.5       +5 -2      xml-xerces/c/src/xercesc/validators/datatype/DoubleDatatypeValidator.cpp
  
  Index: DoubleDatatypeValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DoubleDatatypeValidator.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DoubleDatatypeValidator.cpp	15 May 2003 18:53:26 -0000	1.4
  +++ DoubleDatatypeValidator.cpp	16 May 2003 06:01:57 -0000	1.5
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.5  2003/05/16 06:01:57  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.4  2003/05/15 18:53:26  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -266,7 +269,7 @@
           // lazy construction
           if (getRegex() ==0) {
               try {
  -                setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption));
  +                setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption, fMemoryManager));
               }
               catch (XMLException &e)
               {
  
  
  
  1.5       +5 -2      xml-xerces/c/src/xercesc/validators/datatype/FloatDatatypeValidator.cpp
  
  Index: FloatDatatypeValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/FloatDatatypeValidator.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- FloatDatatypeValidator.cpp	15 May 2003 18:53:26 -0000	1.4
  +++ FloatDatatypeValidator.cpp	16 May 2003 06:01:57 -0000	1.5
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.5  2003/05/16 06:01:57  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.4  2003/05/15 18:53:26  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -267,7 +270,7 @@
           // lazy construction
           if (getRegex() ==0) {
               try {
  -                setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption));
  +                setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption, fMemoryManager));
               }
               catch (XMLException &e)
               {
  
  
  
  1.9       +5 -2      xml-xerces/c/src/xercesc/validators/datatype/ListDatatypeValidator.cpp
  
  Index: ListDatatypeValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/ListDatatypeValidator.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- ListDatatypeValidator.cpp	15 May 2003 18:53:26 -0000	1.8
  +++ ListDatatypeValidator.cpp	16 May 2003 06:01:57 -0000	1.9
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.9  2003/05/16 06:01:57  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.8  2003/05/15 18:53:26  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -239,7 +242,7 @@
           if (getRegex() == 0)
           {
               try {
  -                setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption));
  +                setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption, fMemoryManager));
               }
               catch (XMLException &e)
               {
  
  
  
  1.5       +15 -6     xml-xerces/c/src/xercesc/validators/datatype/NOTATIONDatatypeValidator.cpp
  
  Index: NOTATIONDatatypeValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/NOTATIONDatatypeValidator.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- NOTATIONDatatypeValidator.cpp	15 May 2003 18:53:26 -0000	1.4
  +++ NOTATIONDatatypeValidator.cpp	16 May 2003 06:01:57 -0000	1.5
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.5  2003/05/16 06:01:57  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.4  2003/05/15 18:53:26  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -180,14 +183,17 @@
       if (colonPosition > 0)
       {
           // Extract URI
  -        XMLCh* uriPart = new XMLCh[colonPosition + 1];
  -        ArrayJanitor<XMLCh> jan1(uriPart);
  +        XMLCh* uriPart = (XMLCh*) fMemoryManager->allocate
  +        (
  +            (colonPosition + 1) * sizeof(XMLCh)
  +        );//new XMLCh[colonPosition + 1];
  +        ArrayJanitor<XMLCh> jan1(uriPart, fMemoryManager);
           XMLString::subString(uriPart, content, 0, colonPosition);
   
           try
           {
               // no relative uri support here
  -            XMLUri  newURI(uriPart);
  +            XMLUri  newURI(uriPart, fMemoryManager);
           }
           catch (...)
           {
  @@ -198,8 +204,11 @@
       }
   
       // Extract localpart
  -    XMLCh* localPart = new XMLCh[contentLength - colonPosition];
  -    ArrayJanitor<XMLCh> jan2(localPart);
  +    XMLCh* localPart = (XMLCh*) fMemoryManager->allocate
  +    (
  +        (contentLength - colonPosition) * sizeof(XMLCh)
  +    );//new XMLCh[contentLength - colonPosition];
  +    ArrayJanitor<XMLCh> jan2(localPart, fMemoryManager);
       XMLString::subString(localPart, content, colonPosition + 1, contentLength);
   
       if ( !XMLString::isValidNCName(localPart))
  
  
  
  1.10      +5 -2      xml-xerces/c/src/xercesc/validators/datatype/UnionDatatypeValidator.cpp
  
  Index: UnionDatatypeValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/UnionDatatypeValidator.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- UnionDatatypeValidator.cpp	15 May 2003 18:53:27 -0000	1.9
  +++ UnionDatatypeValidator.cpp	16 May 2003 06:01:57 -0000	1.10
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.10  2003/05/16 06:01:57  knoaman
  + * Partial implementation of the configurable memory manager.
  + *
    * Revision 1.9  2003/05/15 18:53:27  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -344,7 +347,7 @@
           if (getRegex() == 0)
           {
               try {
  -                setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption));
  +                setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption, fMemoryManager));
               }
               catch (XMLException &e)
               {
  
  
  

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