[GME-commit] GMESRC/GME/Include/xalanc/PlatformSupport ArenaBlockBase.hpp, NONE, 1.1 LocalMsgIndex.hpp, NONE, 1.1 XalanDOMStringReusableAllocator.hpp, NONE, 1.1 XalanMemoryManagerDefault.hpp, NONE, 1.1 ArenaAllocator.hpp, 1.1.1.1, 1.2 ArenaBlock.hpp, 1.1.1.1, 1.2 AttributeListImpl.hpp, 1.1.1.1, 1.2 AttributeVectorEntry.hpp, 1.1.1.1, 1.2 AttributeVectorEntryExtended.hpp, 1.1.1.1, 1.2 AttributesImpl.hpp, 1.1.1.1, 1.2 DOMStringHelper.hpp, 1.1.1.1, 1.2 DOMStringPrintWriter.hpp, 1.1.1.1, 1.2 DirectoryEnumerator.hpp, 1.1.1.1, 1.2 DoubleSupport.hpp, 1.1.1.1, 1.2 ExecutionContext.hpp, 1.1.1.1, 1.2 FormatterListener.hpp, 1.1.1.1, 1.2 NamedNodeMapAttributeList.hpp, 1.1.1.1, 1.2 NullPrintWriter.hpp, 1.1.1.1, 1.2 PlatformSupportDefinitions.hpp, 1.1.1.1, 1.2 PlatformSupportInit.hpp, 1.1.1.1, 1.2 PrefixResolver.hpp, 1.1.1.1, 1.2 PrintWriter.hpp, 1.1.1.1, 1.2 Resettable.hpp, 1.1.1.1, 1.2 ReusableArenaAllocator.hpp, 1.1.1.1, 1.2 ReusableArenaBlock.hpp, 1.1.1.1, 1.2 StdBinInputStream.hpp, 1.1.1.1, 1.2 StringTokenizer.hpp, 1.1.1.1, 1.2 URISupport.hpp , 1.1.1.1, 1.2 Writer.hpp, 1.1.1.1, 1.2 XSLException.hpp, 1.1.1.1, 1.2 XalanAllocator.hpp, 1.1.1.1, 1.2 XalanArrayAllocator.hpp, 1.1.1.1, 1.2 XalanBitmap.hpp, 1.1.1.1, 1.2 XalanCollationServices.hpp, 1.1.1.1, 1.2 XalanDOMStringAllocator.hpp, 1.1.1.1, 1.2 XalanDOMStringCache.hpp, 1.1.1.1, 1.2 XalanDOMStringHashTable.hpp, 1.1.1.1, 1.2 XalanDOMStringPool.hpp, 1.1.1.1, 1.2 XalanDecimalFormatSymbols.hpp, 1.1.1.1, 1.2 XalanEncodingPropertyCache.hpp, 1.1.1.1, 1.2 XalanFStreamOutputStream.hpp, 1.1.1.1, 1.2 XalanFileOutputStream.hpp, 1.1.1.1, 1.2 XalanICUMessageLoader.hpp, 1.1.1.1, 1.2 XalanInMemoryMessageLoader.hpp, 1.1.1.1, 1.2 XalanLocator.hpp, 1.1.1.1, 1.2 XalanMessageLoader.hpp, 1.1.1.1, 1.2 XalanNLSMessageLoader.hpp, 1.1.1.1, 1.2 XalanNamespace.hpp, 1.1.1.1, 1.2 XalanNullOutputStream.hpp, 1.1.1.1, 1.2 XalanNumberFormat.hpp, 1.1.1.1, 1.2 XalanOutputStream.hpp, 1.1.1.1, 1.2 XalanOutputStreamPrintWriter.hpp, 1.1.1.1, 1.2 XalanParsedURI.hpp, 1.1.1.1, 1.2 XalanReferenceCountedObject.hpp, 1.1.1.1, 1.2 XalanSimplePrefixResolver.hpp, 1.1.1 .1, 1.2 XalanStdOutputStream.hpp, 1.1.1.1, 1.2 XalanToXercesTranscoderWrapper.hpp, 1.1.1.1, 1.2 XalanTranscodingServices.hpp, 1.1.1.1, 1.2 XalanUTF16Transcoder.hpp, 1.1.1.1, 1.2 XalanUnicode.hpp, 1.1.1.1, 1.2 XalanXMLChar.hpp, 1.1.1.1, 1.2

Log messages of CVS commits gme-commit at list.isis.vanderbilt.edu
Tue Feb 19 14:14:16 CST 2008


Update of /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport
In directory escher:/tmp/cvs-serv25974/PlatformSupport

Modified Files:
	ArenaAllocator.hpp ArenaBlock.hpp AttributeListImpl.hpp 
	AttributeVectorEntry.hpp AttributeVectorEntryExtended.hpp 
	AttributesImpl.hpp DOMStringHelper.hpp 
	DOMStringPrintWriter.hpp DirectoryEnumerator.hpp 
	DoubleSupport.hpp ExecutionContext.hpp FormatterListener.hpp 
	NamedNodeMapAttributeList.hpp NullPrintWriter.hpp 
	PlatformSupportDefinitions.hpp PlatformSupportInit.hpp 
	PrefixResolver.hpp PrintWriter.hpp Resettable.hpp 
	ReusableArenaAllocator.hpp ReusableArenaBlock.hpp 
	StdBinInputStream.hpp StringTokenizer.hpp URISupport.hpp 
	Writer.hpp XSLException.hpp XalanAllocator.hpp 
	XalanArrayAllocator.hpp XalanBitmap.hpp 
	XalanCollationServices.hpp XalanDOMStringAllocator.hpp 
	XalanDOMStringCache.hpp XalanDOMStringHashTable.hpp 
	XalanDOMStringPool.hpp XalanDecimalFormatSymbols.hpp 
	XalanEncodingPropertyCache.hpp XalanFStreamOutputStream.hpp 
	XalanFileOutputStream.hpp XalanICUMessageLoader.hpp 
	XalanInMemoryMessageLoader.hpp XalanLocator.hpp 
	XalanMessageLoader.hpp XalanNLSMessageLoader.hpp 
	XalanNamespace.hpp XalanNullOutputStream.hpp 
	XalanNumberFormat.hpp XalanOutputStream.hpp 
	XalanOutputStreamPrintWriter.hpp XalanParsedURI.hpp 
	XalanReferenceCountedObject.hpp XalanSimplePrefixResolver.hpp 
	XalanStdOutputStream.hpp XalanToXercesTranscoderWrapper.hpp 
	XalanTranscodingServices.hpp XalanUTF16Transcoder.hpp 
	XalanUnicode.hpp XalanXMLChar.hpp 
Added Files:
	ArenaBlockBase.hpp LocalMsgIndex.hpp 
	XalanDOMStringReusableAllocator.hpp 
	XalanMemoryManagerDefault.hpp 
Log Message:
Xalan1.10 include files.


CVS User: Zoltan Molnar, ISIS (zolmol)

Index: XalanSimplePrefixResolver.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanSimplePrefixResolver.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanSimplePrefixResolver.hpp	8 Apr 2004 07:56:14 -0000	1.1.1.1
--- XalanSimplePrefixResolver.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANSIMPLEPREFIXRESOLVER_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANSIMPLEPREFIXRESOLVER_HEADER_GUARD_1357924680)

Index: NamedNodeMapAttributeList.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/NamedNodeMapAttributeList.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** NamedNodeMapAttributeList.hpp	8 Apr 2004 07:56:08 -0000	1.1.1.1
--- NamedNodeMapAttributeList.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(NAMEDNODEMAPATTRIBUTELIST_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(NAMEDNODEMAPATTRIBUTELIST_HEADER_GUARD_1357924680)
***************
*** 65,78 ****
  
  
- #include <vector>
- 
- 
- 
  #include <xercesc/sax/AttributeList.hpp>
  
! 
! 
! #include <xalanc/XalanDOM/XalanDOMString.hpp>
! 
  
  
--- 24,30 ----
  
  
  #include <xercesc/sax/AttributeList.hpp>
  
! #include <xalanc/Include/XalanMemoryManagement.hpp>
  
  
***************
*** 92,96 ****
  
  	explicit
! 	NamedNodeMapAttributeList(const XalanNamedNodeMap&	theMap);
  
  	virtual
--- 44,49 ----
  
  	explicit
! 	NamedNodeMapAttributeList(const XalanNamedNodeMap&	theMap,
!                                 MemoryManagerType& theManager);
  
  	virtual
***************
*** 114,118 ****
  
      virtual const XalanDOMChar*
! 	getValue(const XalanDOMChar* const name) const;
  
  	virtual const XalanDOMChar* 
--- 67,71 ----
  
      virtual const XalanDOMChar*
! 	getValue(const XalanDOMChar*     const name) const;
  
  	virtual const XalanDOMChar* 
***************
*** 134,137 ****
--- 87,92 ----
  
  	static const XalanDOMChar	s_typeString[];
+ 
+     	MemoryManagerType&  m_memoryManager;
  };
  

Index: ReusableArenaAllocator.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/ReusableArenaAllocator.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** ReusableArenaAllocator.hpp	8 Apr 2004 07:56:09 -0000	1.1.1.1
--- ReusableArenaAllocator.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  
***************
*** 62,66 ****
  
  #include <algorithm>
- #include <vector>
  
  
--- 21,24 ----
***************
*** 88,96 ****
  						   ReusableArenaBlockType>		BaseClassType;
  
! #if defined (XALAN_NO_STD_NAMESPACE)
! 	typedef	vector<ReusableArenaBlockType*>				ArenaBlockListType;
! #else
! 	typedef	std::vector<ReusableArenaBlockType*>		ArenaBlockListType;
! #endif
  
  	/*
--- 46,58 ----
  						   ReusableArenaBlockType>		BaseClassType;
  
! 	typedef ReusableArenaAllocator<ObjectType>          ThisType;
! 
! 	typedef	XalanList<ReusableArenaBlockType*>			ArenaBlockListType;
! 
! 	typedef	typename ArenaBlockListType::iterator				iterator;
! 	typedef	typename ArenaBlockListType::const_iterator			const_iterator;
! 	typedef	typename ArenaBlockListType::reverse_iterator		reverse_iterator;
! 	typedef	typename ArenaBlockListType::const_reverse_iterator const_reverse_iterator;
! 
  
  	/*
***************
*** 99,105 ****
  	 * @param theBlockSize The block size.
  	 */
! 	ReusableArenaAllocator(size_type	theBlockSize) :
! 		BaseClassType(theBlockSize),
! 		m_lastBlockReferenced(0)
  	{
  	}
--- 61,70 ----
  	 * @param theBlockSize The block size.
  	 */
! 	ReusableArenaAllocator(
!                 MemoryManagerType&  theManager,
!                 size_type	        theBlockSize, 
!                 bool                destroyBlocks = false) :
! 		BaseClassType(theManager, theBlockSize),
! 		m_destroyBlocks(destroyBlocks)
  	{
  	}
***************
*** 119,158 ****
  	destroyObject(ObjectType*	theObject)
  	{
! 		bool	fSuccess = false;
  
! 		// Check this, just in case...
! 		if (m_lastBlockReferenced != 0 && m_lastBlockReferenced->ownsObject(theObject) == true)
  		{
! 			m_lastBlockReferenced->destroyObject(theObject);
  
! 			fSuccess = true;
  		}
- 		else
- 		{
- 			// Note that this-> is required by template lookup rules.
- 			const typename ArenaBlockListType::reverse_iterator	theEnd = this->m_blocks.rend();
  
! 			typename ArenaBlockListType::reverse_iterator	i = this->m_blocks.rbegin();
  
! 			while(i != theEnd)
  			{
! 				if ((*i)->ownsObject(theObject) == true)
  				{
! 					m_lastBlockReferenced = *i;
  
! 					m_lastBlockReferenced->destroyObject(theObject);
  
! 					fSuccess = true;
  
- 					break;
  				}
! 				else
  				{
! 					++i;
  				}
  			}
  		}
  
! 		return fSuccess;
  	}
  
--- 84,179 ----
  	destroyObject(ObjectType*	theObject)
  	{
! 		bool bResult = false;
  
! 		assert ( theObject != 0 );
! 
! 		if ( this->m_blocks.empty() )
! 			return bResult;
! 
! 		iterator iTerator = this->m_blocks.begin();
! 
! 		iterator iEnd = this->m_blocks.end();
! 
! 		// first , run over unfull blocks ( that consentrated from the head )
! 		while( iTerator != iEnd 
! 					&& (*iTerator)->blockAvailable() )
  		{
! 			if ((*iTerator)->ownsBlock(theObject) == true)
! 			{
! 				(*iTerator)->destroyObject(theObject);
! 				
! 				// move the block we have just deleted to the head of the list
! 				if (iTerator != this->m_blocks.begin())
! 				{
! 					// move the block to the beginning
! 					ReusableArenaBlockType* block = *iTerator;
  
! 					assert(block != 0);
! 					
! 					this->m_blocks.erase(iTerator);
! 
! 					this->m_blocks.push_front(block);
! 				}
! 
! 				if (m_destroyBlocks)
! 				{
! 					destroyBlock();
! 				}
! 
! 				bResult = true;
! 
! 				break;
! 			}
! 
! 			++iTerator;
  		}
  
! 		reverse_iterator rIterator = this->m_blocks.rbegin();
  
! 		reverse_iterator rEnd = this->m_blocks.rend();
! 
! 		// if the block hasn't been found from the head , start with full blocks ( from the taile)
! 		while ( !bResult && rIterator != rEnd )
! 		{
! 			if ((*rIterator)->ownsBlock(theObject))
  			{
! 				(*rIterator)->destroyObject(theObject);
! 
! 				if (rIterator != this->m_blocks.rbegin())
  				{
! 					// move the block to the beginning
! 					ReusableArenaBlockType* block = *iTerator;
  
! 					assert(block != 0);
! 					
! 					this->m_blocks.erase(iTerator);
  
! 					this->m_blocks.push_front(block);
  
  				}
! 
! 				if (m_destroyBlocks)
  				{
! 					destroyBlock();
  				}
+ 
+ 				bResult = true;
+ 
+ 				break; 
+ 			}
+ 
+ 			if ( *rIterator == *iTerator)
+ 			{
+ 				break;
+ 			}
+ 			else
+ 			{
+ 				++rIterator;
  			}
  		}
  
! 		return bResult;
! 
! 		assert ( bResult );
  	}
  
***************
*** 163,166 ****
--- 184,188 ----
  	 * commit an allocation before performing any other
  	 * operation on the allocator.
+ 	 * 
  	 *
  	 * @return A pointer to a block of memory
***************
*** 169,211 ****
  	allocateBlock()
  	{
! 		if (m_lastBlockReferenced == 0 ||
! 			m_lastBlockReferenced->blockAvailable() == false)
  		{
! 			// Search back for a block with some space available...		
! 			const typename ArenaBlockListType::reverse_iterator	theEnd = this->m_blocks.rend();
  			
! 			// Note that this-> is required by template lookup rules.
! 			typename ArenaBlockListType::reverse_iterator	i = this->m_blocks.rbegin();
! 
! 			while(i != theEnd)
! 			{
! 				assert(*i != 0);
! 
! 				if (*i != m_lastBlockReferenced && (*i)->blockAvailable() == true)
! 				{
! 					// Ahh, found one with free space.
! 					m_lastBlockReferenced = *i;
! 
! 					break;
! 				}
! 				else
! 				{
! 					++i;
! 				}
! 			}
! 
! 			if (i == theEnd)
! 			{
! 				// No blocks have free space available, so create a new block, and
! 				// push it on the list.
! 				// Note that this-> is required by template lookup rules.
! 				m_lastBlockReferenced = new ReusableArenaBlockType(this->m_blockSize);
! 
! 				this->m_blocks.push_back(m_lastBlockReferenced);
! 			}
  		}
- 		assert(m_lastBlockReferenced != 0 && m_lastBlockReferenced->blockAvailable() == true);
  
! 		return m_lastBlockReferenced->allocateBlock();
  	}
  
--- 191,209 ----
  	allocateBlock()
  	{
! 		if( this->m_blocks.empty() 
! 			|| !this->m_blocks.front()->blockAvailable() )
  		{
!             this->m_blocks.push_front(
!                 ReusableArenaBlockType::create(
!                     this->getMemoryManager(),
!                     this->m_blockSize));
  			
! 			assert( this->m_blocks.front() != 0 );
  		}
  
! 		assert( this->m_blocks.front() != 0 );
! 		assert( this->m_blocks.front()->blockAvailable() );
! 
! 		return this->m_blocks.front()->allocateBlock();
  	}
  
***************
*** 220,258 ****
  	{
  		// Note that this-> is required by template lookup rules.
! 		assert(this->m_blocks.empty() == false && m_lastBlockReferenced != 0 && m_lastBlockReferenced->ownsBlock(theObject) == true);
  
! 		m_lastBlockReferenced->commitAllocation(theObject);
! 		assert(m_lastBlockReferenced->ownsObject(theObject) == true);
! 	}
  
! 	virtual void
! 	reset()
! 	{
! 		m_lastBlockReferenced = 0;
  
! 		BaseClassType::reset();
  	}
  
  	virtual bool
  	ownsObject(const ObjectType*	theObject) const
  	{
! 		bool	fResult = false;
  
! 		// If no block has ever been referenced, then we haven't allocated
! 		// any objects.
! 		if (m_lastBlockReferenced != 0)
  		{
! 			// Check the last referenced block first.
! 			fResult = m_lastBlockReferenced->ownsObject(theObject);
  
! 			if (fResult == false)
  			{
! 				fResult = BaseClassType::ownsObject(theObject);
  			}
  		}
  
! 		return fResult;
  	}
  
  private:
  
--- 218,317 ----
  	{
  		// Note that this-> is required by template lookup rules.
! 		assert( this->m_blocks.empty() == false );
! 		assert( this->m_blocks.front() != 0 );
! 		assert( this->m_blocks.front()->ownsBlock(theObject) == true );
  
! 		this->m_blocks.front()->commitAllocation(theObject);
  
! 		if( !this->m_blocks.front()->blockAvailable() )
! 		{
! 			ReusableArenaBlockType* fullBlock = this->m_blocks.front();
  
! 			assert ( fullBlock != 0 );
! 
! 			this->m_blocks.pop_front();
! 
! 			this->m_blocks.push_back( fullBlock );
! 		}
  	}
  
+ 
  	virtual bool
  	ownsObject(const ObjectType*	theObject) const
  	{
! 		if ( this->m_blocks.empty() )
! 			return false;
  
! 		const_iterator iTerator = this->m_blocks.begin();
! 
! 		const_iterator iEnd = this->m_blocks.end();
! 
! 		while( iTerator != iEnd 
! 					&& (*iTerator)->blockAvailable() )
  		{
! 			if ((*iTerator)->ownsBlock(theObject) )
! 			{
! 				return true;
! 			}
  
! 			++iTerator;
! 		}
! 
! 		const_reverse_iterator rIterator = this->m_blocks.rbegin();
! 
! 		const_reverse_iterator rEnd = this->m_blocks.rend();
! 
! 		while( rIterator != rEnd )
! 		{
! 			if ((*rIterator)->ownsBlock(theObject) )
  			{
! 				return true;
! 			}
! 
! 			if ( *iTerator == *rIterator )
! 			{
! 				break;
! 			}
! 			else
! 			{
! 				++rIterator;
  			}
  		}
  
! 		return false;
! 	}
! 
! protected:
! 
! 	/*
! 	 * The method destroys an empty block from the head of the list.
! 	 * For eliminating multiple create/destroy operation, the block
!      * is destroyed only if the second one is not full.
! 	 */
! 	void
! 	destroyBlock()
! 	{
!         assert(m_destroyBlocks == true);
! 
! 		if ( this->m_blocks.empty() == false)
! 		{
! 		    const_iterator iTerator = this->m_blocks.begin();
! 
! 		    if ( (*iTerator)->isEmpty() )
! 		    {
! 			    ++iTerator;
! 
! 			    if (iTerator == this->m_blocks.end() ||
! 				    (*iTerator)->blockAvailable() )
! 			    {
! 				    this->m_blocks.pop_front();
! 			    }
! 		    }
!         }
  	}
  
+ 	// data members
+ 	const bool  m_destroyBlocks;
+ 
  private:
  
***************
*** 263,268 ****
  	operator=(const ReusableArenaAllocator<ObjectType>&);
  
! 	// Data members...
! 	ReusableArenaBlockType*		m_lastBlockReferenced;
  };
  
--- 322,327 ----
  	operator=(const ReusableArenaAllocator<ObjectType>&);
  
! 	bool
! 	operator==(const ReusableArenaAllocator<ObjectType>&) const;
  };
  

Index: XalanOutputStreamPrintWriter.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanOutputStreamPrintWriter.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanOutputStreamPrintWriter.hpp	8 Apr 2004 07:56:13 -0000	1.1.1.1
--- XalanOutputStreamPrintWriter.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANOUTPUTSTREAMPRINTWRITER_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANOUTPUTSTREAMPRINTWRITER_HEADER_GUARD_1357924680)
***************
*** 92,95 ****
--- 51,59 ----
  	 */
  	XalanOutputStreamPrintWriter(
+ 			XalanOutputStream&	theOutputStream,
+ 			bool				fAutoFlush = false);
+ 
+     static XalanOutputStreamPrintWriter*
+     create(
  			XalanOutputStream&	theOutputStream,
  			bool				fAutoFlush = false);

Index: XalanBitmap.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanBitmap.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanBitmap.hpp	8 Apr 2004 07:56:10 -0000	1.1.1.1
--- XalanBitmap.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANBITMAP_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANBITMAP_HEADER_GUARD_1357924680)
***************
*** 65,69 ****
  
  
! #include <vector>
  
  
--- 24,28 ----
  
  
! #include <xalanc/Include/XalanVector.hpp>
  
  
***************
*** 97,101 ****
  	 * @param  theSize   The number of bits in the map.
  	 */
! 	XalanBitmap(size_type	theSize);
  
  	~XalanBitmap();
--- 56,60 ----
  	 * @param  theSize   The number of bits in the map.
  	 */
! 	XalanBitmap(MemoryManagerType& theManager, size_type	theSize);
  
  	~XalanBitmap();
***************
*** 109,113 ****
  	 */
  	bool
! 	isSet(size_type		theBit) const;
  
  	/**
--- 68,77 ----
  	 */
  	bool
! 	isSet(size_type		theBit) const
!     {
! 	    assert(theBit >= m_size);
! 
!         return m_bitmap[theBit / eBitsPerUnit] & s_setMasks[theBit % eBitsPerUnit] ? true : false;
!     }
  
  	/**
***************
*** 117,121 ****
  	 */
  	void
! 	set(size_type	theBit);
  
  	/**
--- 81,90 ----
  	 */
  	void
! 	set(size_type	theBit)
!     {
! 	    assert(theBit < m_size);
! 
! 		m_bitmap[theBit / eBitsPerUnit] |= s_setMasks[theBit % eBitsPerUnit];
!     }
  
  	/**
***************
*** 125,129 ****
  	 */
  	void
! 	clear(size_type		theBit);
  
  	/**
--- 94,103 ----
  	 */
  	void
! 	clear(size_type		theBit)
!     {
! 	    assert(theBit < m_size);
! 
! 		m_bitmap[theBit / eBitsPerUnit] &= s_clearMasks[theBit % eBitsPerUnit];
!     }
  
  	/**
***************
*** 133,137 ****
  	 */
  	void
! 	toggle(size_type	theBit);
  
  	/**
--- 107,116 ----
  	 */
  	void
! 	toggle(size_type	theBit)
!     {
! 	    assert(theBit < m_size);
! 
! 		m_bitmap[theBit / eBitsPerUnit] ^= s_setMasks[theBit % eBitsPerUnit];
!     }
  
  	/**
***************
*** 154,162 ****
  private:
  
! #if defined(XALAN_NO_STD_NAMESPACE)
! 	typedef vector<UnitType>		BitmapVectorType;
! #else
! 	typedef std::vector<UnitType>	BitmapVectorType;
! #endif
  
  	const size_type		m_size;
--- 133,142 ----
  private:
  
!     static const int    s_setMasks[];
! 
!     static const int    s_clearMasks[];
! 
! 
!     typedef XalanVector<UnitType>		BitmapVectorType;
  
  	const size_type		m_size;

Index: Writer.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/Writer.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** Writer.hpp	8 Apr 2004 07:56:09 -0000	1.1.1.1
--- Writer.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(WRITER_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(WRITER_HEADER_GUARD_1357924680)

Index: NullPrintWriter.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/NullPrintWriter.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** NullPrintWriter.hpp	8 Apr 2004 07:56:08 -0000	1.1.1.1
--- NullPrintWriter.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(NULLPRINTWRITER_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(NULLPRINTWRITER_HEADER_GUARD_1357924680)
***************
*** 79,83 ****
  
  	explicit
! 	NullPrintWriter();
  
  	virtual
--- 38,42 ----
  
  	explicit
! 	NullPrintWriter(MemoryManagerType& theManager);
  
  	virtual

Index: XalanMessageLoader.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanMessageLoader.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanMessageLoader.hpp	8 Apr 2004 07:56:12 -0000	1.1.1.1
--- XalanMessageLoader.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANMESSAGELOADER_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANMESSAGELOADER_HEADER_GUARD_1357924680)
***************
*** 60,69 ****
  
  // Base include file.  Must be first.
! #include <xalanc/PlatformSupport/PlatformSupportDefinitions.hpp>
  
  
! #include <xalanc/XalanDOM/XalanDOMString.hpp>
  
- #include <LocalMsgIndex.hpp>
  
  
--- 19,32 ----
  
  // Base include file.  Must be first.
! #include "xalanc/PlatformSupport/PlatformSupportDefinitions.hpp"
  
  
! #include "xalanc/XalanDOM/XalanDOMString.hpp"
! 
! #include "xalanc/Include/XalanMemMgrAutoPtr.hpp"
! #include "xalanc/Include/XalanMemMgrHelper.hpp"
! 
! #include "LocalMsgIndex.hpp"
  
  
  
***************
*** 72,75 ****
--- 35,42 ----
  
  
+ XALAN_USING_XERCES(MemoryManager)
+ 
+ 
+ 
  // class for calling fom outside of the module 
  class  XALAN_PLATFORMSUPPORT_EXPORT XalanMessageLoader {
***************
*** 77,168 ****
  
  public:
  
! 	
! 	// -----------------------------------------------------------------------
! 	//  Public Constructors and Destructor
! 	// -----------------------------------------------------------------------
! 	virtual
! 	~XalanMessageLoader();
  
! 	XalanMessageLoader()
! 	{
! 	}
  
! 	static void
! 	createLoader();
  
! 	static void
! 	destroyLoader();
  
! 	static const XalanDOMString
! 	getMessage(XalanMessages::Codes		msgToLoad
! 		, const char* 			repText1 
! 		, const char* 			repText2 = 0
! 		, const char* 			repText3 = 0
! 		, const char* 			repText4 = 0);
  
! 	static const XalanDOMString
! 	getMessage(XalanMessages::Codes		msgToLoad
! 		, const XalanDOMChar* 			repText1 
! 		, const XalanDOMChar* 			repText2 = 0
! 		, const XalanDOMChar* 			repText3 = 0
! 		, const XalanDOMChar* 			repText4 = 0);
  
! 	static const XalanDOMString
! 	getMessage(XalanMessages::Codes		msgToLoad);
  
! 	static const XalanDOMString
! 	getMessage(XalanMessages::Codes		msgToLoad
! 		, const XalanDOMString& 				repText1 );
  
! 	static const XalanDOMString
! 	getMessage(XalanMessages::Codes		msgToLoad
! 		, const XalanDOMString& 				repText1 
! 		, const XalanDOMString& 				repText2 );
  
! 	static const XalanDOMString
! 	getMessage(XalanMessages::Codes		msgToLoad
! 		, const XalanDOMString& 				repText1 
! 		, const XalanDOMString& 				repText2 
! 		, const XalanDOMString& 				repText3);
  
  protected:
! 	virtual bool loadMsg
! 		(
! 		  XalanMessages::Codes		msgToLoad
! 		, XalanDOMChar*				toFill
! 		, unsigned int				maxChars
! 		) =0;
  
  private:
  
! 	bool load
! 		(
! 		XalanMessages::Codes		msgToLoad
! 		, XalanDOMChar*				toFill
! 		, unsigned int				maxChars
! 		, const XalanDOMChar* 		repText1 
! 		, const XalanDOMChar* 		repText2 = 0
! 		, const XalanDOMChar* 		repText3 = 0
! 		, const XalanDOMChar* 		repText4 = 0
! 		);
! 	
! 	bool load
! 		(
! 		XalanMessages::Codes		msgToLoad
! 		, XalanDOMChar*				toFill
! 		, unsigned int				maxChars
! 		, const char* 				repText1 
! 		, const char* 				repText2 = 0
! 		, const char* 				repText3 = 0
! 		, const char* 				repText4 = 0
! 		);
  
! 	XalanMessageLoader(const XalanMessageLoader&);
  
! 	XalanMessageLoader&
! 	operator=(const XalanMessageLoader&);
  
! 	static XalanMessageLoader*	s_msgLoader;
  };
  
--- 44,175 ----
  
  public:
+     template <class Type>
+     class XalanMessageLoaderCreateFunct
+     {
+     public:
+         Type*
+         operator()(MemoryManager&   theManager)
+         {
+             XalanMemMgrAutoPtr<Type, false> theGuard( theManager , (Type*)theManager.allocate(sizeof(Type)));
  
!             Type* theResult = theGuard.get();
  
!             new (theResult) Type(theManager);
  
!             theGuard.release();
  
!             return theResult;
!         }
!     };
!     
!     class XalanMessageLoaderDestructFunct
!     {
!     public:
!         void
!         operator()(
!                     MemoryManager&          theManager,
!                     XalanMessageLoader*     p)
!         {        
!             assert ( p != 0);
  
!             destroyObjWithMemMgr(p, theManager);
!         }
!     };
  
!     virtual
!     ~XalanMessageLoader();
  
!     XalanMessageLoader()
!     {
!     }
  
!     static void
!     initialize(MemoryManagerType&      theManager);
  
!     static void
!     terminate();
  
!     static XalanDOMString&
!     getMessage(
!                 XalanDOMString&         theResultMessage,
!                 XalanMessages::Codes    msgToLoad,
!                 const char*             repText1 , 
!                 const char*             repText2 = 0, 
!                 const char*             repText3 = 0, 
!                 const char*             repText4 = 0);
! 
!     static XalanDOMString&
!     getMessage(
!                 XalanDOMString&         theResultMessage,
!                 XalanMessages::Codes    msgToLoad,
!                 const XalanDOMChar*     repText1, 
!                 const XalanDOMChar*     repText2 = 0,
!                 const XalanDOMChar*     repText3 = 0,
!                 const XalanDOMChar*     repText4 = 0);
! 
!     static XalanDOMString&
!     getMessage(
!                 XalanDOMString&         theResultMessage,
!                 XalanMessages::Codes    msgToLoad);
! 
!     static XalanDOMString&
!     getMessage(
!                 XalanDOMString&         theResultMessage,
!                 XalanMessages::Codes    msgToLoad,
!                 const XalanDOMString&   repText1);
! 
!     static XalanDOMString&
!     getMessage(
!                 XalanDOMString&         theResultMessage,
!                 XalanMessages::Codes    msgToLoad,
!                 const XalanDOMString&   repText1,  
!                 const XalanDOMString&   repText2);
! 
!     static XalanDOMString&
!     getMessage(
!                 XalanDOMString&         theResultMessage,
!                 XalanMessages::Codes    msgToLoad,
!                 const XalanDOMString&   repText1,  
!                 const XalanDOMString&   repText2,  
!                 const XalanDOMString&   repText3);
  
  protected:
! 
!     virtual bool
!     loadMsg(
!                 XalanMessages::Codes    msgToLoad, 
!                 XalanDOMChar*           toFill, 
!                 unsigned int            maxChars) = 0;
  
  private:
  
!     bool
!     load(
!                 XalanMessages::Codes    msgToLoad,
!                 MemoryManager&          theMemoryManager,
!                 XalanDOMChar*           toFill,
!                 unsigned int            maxChars,
!                 const XalanDOMChar*     repText1, 
!                 const XalanDOMChar*     repText2 = 0, 
!                 const XalanDOMChar*     repText3 = 0,
!                 const XalanDOMChar*     repText4 = 0);
!     
!     bool
!     load(
!                 XalanMessages::Codes        msgToLoad,
!                 MemoryManagerType&          theManager,
!                 XalanDOMChar*               toFill, 
!                 unsigned int                maxChars, 
!                 const char*                 repText1 , 
!                 const char*                 repText2 = 0, 
!                 const char*                 repText3 = 0, 
!                 const char*                 repText4 = 0);
  
!     XalanMessageLoader(const XalanMessageLoader&);
  
!     XalanMessageLoader&
!     operator=(const XalanMessageLoader&);
  
!     static XalanMessageLoader*  s_msgLoader;
  };
  
***************
*** 171,173 ****
  XALAN_CPP_NAMESPACE_END
  
! #endif	// XALANMESSAGELOADER_HEADER_GUARD_1357924680
--- 178,180 ----
  XALAN_CPP_NAMESPACE_END
  
! #endif  // XALANMESSAGELOADER_HEADER_GUARD_1357924680

Index: XalanTranscodingServices.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanTranscodingServices.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanTranscodingServices.hpp	8 Apr 2004 07:56:14 -0000	1.1.1.1
--- XalanTranscodingServices.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANTRANSCODINGSERVICES_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANTRANSCODINGSERVICES_HEADER_GUARD_1357924680)
***************
*** 90,94 ****
  	 */
  	static void
! 	initialize();
   
  	/**
--- 49,53 ----
  	 */
  	static void
! 	initialize(MemoryManagerType&      theManager);
   
  	/**
***************
*** 99,116 ****
  
  	typedef unsigned char	XalanXMLByte;
  
! 	static size_t
  	length(const XalanXMLByte*	theBytes)
  	{
  		assert(theBytes != 0);
  
! 		const XalanXMLByte*		theCurrentByte = theBytes;
  
! 		while(*theCurrentByte != 0)
  		{
! 			++theCurrentByte;
  		}
  
! 		return theCurrentByte - theBytes;
  	}
  
--- 58,77 ----
  
  	typedef unsigned char	XalanXMLByte;
+     typedef unsigned int    size_type;
+     typedef unsigned int    UnicodeCharType;
  
! 	static size_type
  	length(const XalanXMLByte*	theBytes)
  	{
  		assert(theBytes != 0);
  
!         size_type   i = 0;
  
! 		while(theBytes[i] != 0)
  		{
! 			++i;
  		}
  
! 		return i;
  	}
  
***************
*** 135,141 ****
  	static XalanOutputTranscoder*
  	makeNewTranscoder(
  			const XalanDOMString&	theEncodingName,
  			eCode&					theResult,
! 			size_t					theBlockSize);
  
  	/**
--- 96,103 ----
  	static XalanOutputTranscoder*
  	makeNewTranscoder(
+             MemoryManagerType&      theManager,
  			const XalanDOMString&	theEncodingName,
  			eCode&					theResult,
! 			size_type				theBlockSize);
  
  	/**
***************
*** 245,249 ****
  
  	static bool
! 	canTranscodeToLocalCodePage(unsigned int	theChar)
  	{
  		// Yuck!! See getMaximumCharacterValue() for more details.
--- 207,211 ----
  
  	static bool
! 	canTranscodeToLocalCodePage(UnicodeCharType     theChar)
  	{
  		// Yuck!! See getMaximumCharacterValue() for more details.
***************
*** 277,287 ****
  
  		UnrepresentableCharacterException(
! 			unsigned int			theCharacter,
! 			const XalanDOMString&	theEncoding);
  
  		virtual
  		~UnrepresentableCharacterException();
  
! 		unsigned int
  		getCharacter() const
  		{
--- 239,250 ----
  
  		UnrepresentableCharacterException(
! 			UnicodeCharType			theCharacter,
! 			const XalanDOMString&	theEncoding,
!             XalanDOMString&         theBuffer);
  
  		virtual
  		~UnrepresentableCharacterException();
  
! 		UnicodeCharType
  		getCharacter() const
  		{
***************
*** 295,301 ****
  		}
  
  	private:
  
! 		const unsigned int		m_badCharacter;
  
  		const XalanDOMString	m_encoding;
--- 258,275 ----
  		}
  
+ 		virtual const XalanDOMChar*
+ 		getType() const
+ 		{
+ 			return m_type;
+ 		}
+ 
  	private:
+         // not implemented
+         UnrepresentableCharacterException(const UnrepresentableCharacterException&);
  
! 		static const XalanDOMChar	m_type[];
! 
! 
! 		const UnicodeCharType	m_badCharacter;
  
  		const XalanDOMString	m_encoding;
***************
*** 315,327 ****
  public:
  
! 	typedef XalanTranscodingServices::XalanXMLByte	XalanXMLByte;
! 	typedef XalanTranscodingServices::eCode			eCode;
  
  	explicit
! 	XalanOutputTranscoder();
  
  	virtual
  	~XalanOutputTranscoder();
  
  	/**
  	 * Transcode data from UTF-16 to the transcoder's encoding.  If successfull,
--- 289,309 ----
  public:
  
! 	typedef XalanTranscodingServices::XalanXMLByte	    XalanXMLByte;
! 	typedef XalanTranscodingServices::eCode			    eCode;
!     typedef XalanTranscodingServices::size_type         size_type;
!     typedef XalanTranscodingServices::UnicodeCharType   UnicodeCharType;
  
  	explicit
! 	XalanOutputTranscoder(MemoryManagerType& theManager);
  
  	virtual
  	~XalanOutputTranscoder();
  
+     MemoryManagerType&
+     getMemoryManager()
+     {
+         return m_memoryManager;
+     }
+ 
  	/**
  	 * Transcode data from UTF-16 to the transcoder's encoding.  If successfull,
***************
*** 340,348 ****
  	transcode(
  			const XalanDOMChar*		theSourceData,
! 			size_t					theSourceCount,
  			XalanXMLByte*			theTarget,
! 			size_t					theTargetSize,
! 			size_t&					theSourceCharsTranscoded,
! 			size_t&					theTargetBytesUsed) = 0;
  
  	/**
--- 322,330 ----
  	transcode(
  			const XalanDOMChar*		theSourceData,
! 			size_type				theSourceCount,
  			XalanXMLByte*			theTarget,
! 			size_type			    theTargetSize,
! 			size_type&				theSourceCharsTranscoded,
! 			size_type&				theTargetBytesUsed) = 0;
  
  	/**
***************
*** 363,378 ****
  	transcode(
  			const XalanXMLByte*		theSourceData,
! 			size_t					theSourceCount,
  			XalanDOMChar*			theTarget,
! 			size_t					theTargetSize,
! 			size_t&					theSourceCharsTranscoded,
! 			size_t&					theTargetBytesUsed,
  			unsigned char*			theCharSizes) = 0;
  
  	virtual bool
! 	canTranscodeTo(unsigned int		theChar) const = 0;
  
  private:
  
  	// Not implemented...
  	XalanOutputTranscoder(const XalanOutputTranscoder&	theSource);
--- 345,361 ----
  	transcode(
  			const XalanXMLByte*		theSourceData,
! 			size_type				theSourceCount,
  			XalanDOMChar*			theTarget,
! 			size_type				theTargetSize,
! 			size_type&				theSourceCharsTranscoded,
! 			size_type&				theTargetBytesUsed,
  			unsigned char*			theCharSizes) = 0;
  
  	virtual bool
! 	canTranscodeTo(UnicodeCharType	theChar) const = 0;
  
  private:
  
+     MemoryManagerType&              m_memoryManager;
  	// Not implemented...
  	XalanOutputTranscoder(const XalanOutputTranscoder&	theSource);

Index: AttributeVectorEntry.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/AttributeVectorEntry.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** AttributeVectorEntry.hpp	8 Apr 2004 07:56:06 -0000	1.1.1.1
--- AttributeVectorEntry.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(ATTRIBUTEVECTORENTRY_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(ATTRIBUTEVECTORENTRY_HEADER_GUARD_1357924680)
***************
*** 62,74 ****
  // Base include file.  Must be first.
  #include <xalanc/PlatformSupport/PlatformSupportDefinitions.hpp>
  
  
  
! #include <vector>
! 
! 
! 
! #include <xalanc/PlatformSupport/DOMStringHelper.hpp>
  
  
  
--- 21,31 ----
  // Base include file.  Must be first.
  #include <xalanc/PlatformSupport/PlatformSupportDefinitions.hpp>
+ #include <xalanc/PlatformSupport/DOMStringHelper.hpp>
  
  
  
! #include <xalanc/Include/XalanVector.hpp>
  
+ #include <xalanc/Include/XalanMemMgrAutoPtr.hpp>
  
  
***************
*** 81,116 ****
  public:
  
! #if defined(XALAN_NO_STD_NAMESPACE)
! 	typedef vector<XMLCh>		XMLChVectorType;
! #else
! 	typedef std::vector<XMLCh>	XMLChVectorType;
! #endif
  
  	AttributeVectorEntry(
  			const XMLChVectorType&	theName,
  			const XMLChVectorType&	theValue,
! 			const XMLChVectorType&	theType) :
! 		m_Name(theName),
! 		m_Value(theValue),
! 		m_Type(theType)
  	{
  	}
  
  	AttributeVectorEntry(
! 			const XMLCh*	theName,
! 			const XMLCh*	theValue,
! 			const XMLCh*	theType) :
! 		m_Name(theName, theName + length(theName) + 1),
! 		m_Value(theValue, theValue + length(theValue) + 1),
! 		m_Type(theType, theType + length(theType) + 1)
  	{
  	}
  
! 	AttributeVectorEntry() :
! 		m_Name(),
! 		m_Value(),
! 		m_Type()
  	{
  	}
  
      virtual
--- 38,90 ----
  public:
  
! 	typedef XalanVector<XMLCh>		XMLChVectorType;
  
  	AttributeVectorEntry(
  			const XMLChVectorType&	theName,
  			const XMLChVectorType&	theValue,
! 			const XMLChVectorType&	theType,
!             MemoryManagerType&      theManager) :
! 		m_Name(theName,theManager),
! 		m_Value(theValue,theManager),
! 		m_Type(theType,theManager)
  	{
  	}
  
  	AttributeVectorEntry(
! 			const XMLCh*	        theName,
! 			const XMLCh*	        theValue,
! 			const XMLCh*	        theType,
!             MemoryManagerType&      theManager) :
! 		m_Name(theName, theName + length(theName) + 1, theManager),
! 		m_Value(theValue, theValue + length(theValue) + 1, theManager),
! 		m_Type(theType, theType + length(theType) + 1, theManager)
  	{
  	}
  
! 	AttributeVectorEntry(MemoryManagerType&      theManager) :
! 		m_Name(theManager),
! 		m_Value(theManager),
! 		m_Type(theManager)
  	{
  	}
+ 
+     static AttributeVectorEntry*
+     create( const XMLCh*	theName,
+ 			const XMLCh*	theValue,
+ 			const XMLCh*	theType,
+             MemoryManagerType&      theManager)
+     {
+         typedef AttributeVectorEntry ThisType;
+         
+         XalanMemMgrAutoPtr<ThisType, false> theGuard( theManager , (ThisType*)theManager.allocate(sizeof(ThisType)));
+ 
+         ThisType* theResult = theGuard.get();
+ 
+         new (theResult) ThisType(theName, theValue, theType, theManager);
+ 
+         theGuard.release();
+ 
+         return theResult;
+     }
  
      virtual

Index: XalanNLSMessageLoader.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanNLSMessageLoader.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanNLSMessageLoader.hpp	8 Apr 2004 07:56:12 -0000	1.1.1.1
--- XalanNLSMessageLoader.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.	IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  
***************
*** 72,76 ****
  public:
  
! 	XalanNLSMessageLoader();
  
  	virtual
--- 31,35 ----
  public:
  
! 	XalanNLSMessageLoader(MemoryManagerType& theManager);
  
  	virtual
***************
*** 97,100 ****
--- 56,61 ----
   
      nl_catd 	m_catalogHandle;
+     
+     MemoryManagerType& m_memoryManager;
  };
  

--- NEW FILE: ArenaBlockBase.hpp ---
/*
 * Copyright 1999-2004 The Apache Software Foundation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#if !defined(ARENABLOCKBASE_INCLUDE_GUARD_1357924680)
#define ARENABLOCKBASE_INCLUDE_GUARD_1357924680


#include <cassert>
#include <functional>
//#include <memory>

#include <xalanc/Include/XalanMemoryManagement.hpp>


#if !defined(XALAN_NO_SELECTIVE_TEMPLATE_INSTANTIATION)
#include <xalanc/PlatformSupport/XalanAllocator.hpp>
#endif


XALAN_CPP_NAMESPACE_BEGIN


#if defined(XALAN_NO_SELECTIVE_TEMPLATE_INSTANTIATION)

template <class Type>
class ArenaBlockAllocator
{
public:

	typedef typename T		size_type;
	typedef ptrdiff_t		difference_type;
	typedef Type*			pointer;
	typedef const Type*		const_pointer;
	typedef Type&			reference;
	typedef const Type&		const_reference;
	typedef Type			value_type;

    ArenaBlockAllocator(MemoryManagerType&  theManager) :
        m_memoryManager(theManager)
	{
	}

	~ArenaBlockAllocator()
	{
	}

    MemoryManagerType&
    getMemoryManager()
    {
        return m_memoryManager;
    }

	pointer
	allocate(
			size_type		size,
			const void*		/* hint */ = 0)
	{
		return (pointer)m_memoryManager.allocate(size * sizeof(Type));
	}

	void
	deallocate(
				pointer		p,
				size_type	/* n */)
	{
        if(p != 0)
        {
            m_memoryManager.deallocate(p);
        }
	}

private:

    // not defined
	ArenaBlockAllocator(const ArenaBlockAllocator<Type>&);

    ArenaBlockAllocator<Type>&
    operator=(const ArenaBlockAllocator<Type>&);

    MemoryManagerType&  m_memoryManager;
};
#endif



template<class ObjectType,
#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
		 class SizeType>
#else
		 class SizeType = size_t>
#endif
class ArenaBlockBase
{
public:

	typedef ArenaBlockBase<ObjectType, SizeType>    ThisType;

#if defined(XALAN_NO_SELECTIVE_TEMPLATE_INSTANTIATION)
	typedef ArenaBlockAllocator<ObjectType>     AllocatorType;
#else
	typedef XalanAllocator<ObjectType>			AllocatorType;
#endif

	typedef SizeType							size_type;

    MemoryManagerType&
    getMemoryManager()
    {
        return m_allocator.getMemoryManager();
    }

	/*
	 * Find out if there is a block available.
	 *
	 * @return true if one is available, false if not.
	 */
	bool
	blockAvailable() const
	{
		return m_objectCount < m_blockSize ? true : false;
	}

	/*
	 * Find out if there are any block is allocated
	 *
	 * @return true if one is available, false if not.
	 */
	bool
	isEmpty() const
	{
		return m_objectCount == 0 ? true : false;
	}

	/*
	 * Get the number of objects currently allocated in the
	 * block.
	 *
	 * @return The number of objects allocated.
	 */
	size_type
	getCountAllocated() const
	{
		return m_objectCount;
	}

	/*
	 * Get the block size, that is, the number
	 * of objects in each block.
	 *
	 * @return The size of the block
	 */
	size_type
	getBlockSize() const
	{
		return m_blockSize;
	}

	/*
	 * Determine if this block owns the specified object block.
	 * Note that, unlike ownsObject(), there does not need to
	 * be an object at the address.
	 *
	 * @param theObject the address of the object
	 * @return true if we own the object block, false if not.
	 */
	bool
	ownsBlock(const ObjectType*		theObject) const
	{
		return isInBorders(theObject, m_blockSize);
	}

protected:

	ArenaBlockBase(
                MemoryManagerType&  theManager,
                size_type	        theBlockSize) :	
		m_allocator(theManager),
		m_objectCount(0),
		m_blockSize(theBlockSize),
#if defined(XALAN_NEW_STD_ALLOCATOR)
		m_objectBlock(m_allocator.allocate(m_blockSize))
#else
		m_objectBlock(m_allocator.allocate(m_blockSize, 0))
#endif
	{
		assert(theBlockSize > 0);

		assert(m_objectBlock != 0);
	}

	~ArenaBlockBase()
	{
		// Release the memory...
		m_allocator.deallocate(m_objectBlock, m_blockSize);

	}

	/*
	 * Determine if this block is located between beginning of the array
	 * and the "rightBorder" array member (not included)
	 * @param theObject the address of the object
	 *		  rightBorder the right 
	 * @return true if we own the object block, false if not.
	 */
	bool
	isInBorders(
            const ObjectType*	theObject,
            size_type           rightBoundary) const
	{
		if ( rightBoundary > m_blockSize )
		{
			rightBoundary = m_blockSize;
		}

        // Use less<>, since it's guaranteed to do pointer
		// comparisons correctly...
		XALAN_STD_QUALIFIER less<const ObjectType*>		functor;

		if (functor(theObject, m_objectBlock) == false &&
			functor(theObject, m_objectBlock + rightBoundary) == true)
		{
			return true;
		}
		else
		{
			return false;
		}
	}

	/*
	 * Determine the offset into the block for the given address.
	 * Behavior is undefined if the address is not within our
	 * block
	 *
	 * @param theObject the address of the object
	 * @return the offset
	 */
	size_type
	getBlockOffset(const ObjectType*	theObject) const
	{
		assert(size_type( (theObject - m_objectBlock) / sizeof(ObjectType) ) < m_blockSize);

		return theObject - m_objectBlock;
	}

	/*
	 * Determine the address within our block of the object
	 * at the specified offset.
	 * Behavior is undefined if the offset is greater than the
	 * block size.
	 *
	 * @param theObject the address of the object
	 * @return the offset
	 */
	ObjectType*
	getBlockAddress(size_type	theOffset) const
	{
		assert(theOffset < m_blockSize);

		return m_objectBlock + theOffset;
	}

	// data members...
	AllocatorType		m_allocator;
	
	size_type			m_objectCount;

	const size_type		m_blockSize;

	ObjectType*			m_objectBlock;

private:

	// Not implemented...
	ArenaBlockBase(const ThisType&);

	ThisType&
	operator=(const ThisType&);

	bool
	operator==(const ThisType&) const;
};

XALAN_CPP_NAMESPACE_END



#endif	// !defined(ARENABLOCKBASE_INCLUDE_GUARD_1357924680)

Index: XalanDOMStringCache.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanDOMStringCache.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanDOMStringCache.hpp	8 Apr 2004 07:56:11 -0000	1.1.1.1
--- XalanDOMStringCache.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALAN_DOMSTRINGCACHE_HEADER_GUARD)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALAN_DOMSTRINGCACHE_HEADER_GUARD)
***************
*** 65,70 ****
  
  
! #include <deque>
! #include <vector>
  
  
--- 24,28 ----
  
  
! #include <xalanc/Include/XalanVector.hpp>
  
  
***************
*** 74,77 ****
--- 32,39 ----
  
  
+ #include <xalanc/PlatformSupport/XalanDOMStringReusableAllocator.hpp>
+ 
+ 
+ 
  XALAN_CPP_NAMESPACE_BEGIN
  
***************
*** 84,95 ****
  	enum { eDefaultMaximumSize = 100 };
  
! #if defined(XALAN_NO_STD_NAMESPACE)
! 	typedef vector<XalanDOMString*>			StringListType;
! #else
! 	typedef std::vector<XalanDOMString*>	StringListType;
! #endif
  
  	explicit
! 	XalanDOMStringCache(unsigned int	theMaximumSize = eDefaultMaximumSize);
  
  	~XalanDOMStringCache();
--- 46,54 ----
  	enum { eDefaultMaximumSize = 100 };
  
! 	typedef XalanVector<XalanDOMString*>	StringListType;
  
  	explicit
! 	XalanDOMStringCache(MemoryManagerType&     theManager,
!                         unsigned int	theMaximumSize = eDefaultMaximumSize);
  
  	~XalanDOMStringCache();
***************
*** 170,181 ****
  	 * A list to hold the strings that are available...
  	 */
! 	StringListType	m_availableList;
  
  	/**
  	 * A list to hold the strings that are busy...
  	 */
! 	StringListType	m_busyList;
  
! 	unsigned int	m_maximumSize;
  };
  
--- 129,142 ----
  	 * A list to hold the strings that are available...
  	 */
! 	StringListType	                    m_availableList;
  
  	/**
  	 * A list to hold the strings that are busy...
  	 */
! 	StringListType	                    m_busyList;
  
! 	unsigned int	                    m_maximumSize;
! 
!     XalanDOMStringReusableAllocator     m_allocator;
  };
  

Index: XalanReferenceCountedObject.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanReferenceCountedObject.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanReferenceCountedObject.hpp	8 Apr 2004 07:56:14 -0000	1.1.1.1
--- XalanReferenceCountedObject.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANREFERENCECOUNTEDOBJECT_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANREFERENCECOUNTEDOBJECT_HEADER_GUARD_1357924680)

Index: PlatformSupportDefinitions.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/PlatformSupportDefinitions.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** PlatformSupportDefinitions.hpp	8 Apr 2004 07:56:08 -0000	1.1.1.1
--- PlatformSupportDefinitions.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(PLATFORMSUPPORTDEFINITIONS_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(PLATFORMSUPPORTDEFINITIONS_HEADER_GUARD_1357924680)

Index: XalanUTF16Transcoder.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanUTF16Transcoder.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanUTF16Transcoder.hpp	8 Apr 2004 07:56:15 -0000	1.1.1.1
--- XalanUTF16Transcoder.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANUTF16TRANSCODER_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANUTF16TRANSCODER_HEADER_GUARD_1357924680)
***************
*** 79,84 ****
  
  	explicit
! 	XalanUTF16Transcoder();
!    
  	virtual
  	~XalanUTF16Transcoder();
--- 38,46 ----
  
  	explicit
! 	XalanUTF16Transcoder(MemoryManagerType& theManager);
! 
!     static XalanUTF16Transcoder*
!     create(MemoryManagerType& theManager);
! 
  	virtual
  	~XalanUTF16Transcoder();
***************
*** 99,107 ****
  	transcode(
  			const XalanDOMChar*		theSourceData,
! 			size_t					theSourceCount,
  			XalanXMLByte*			theTarget,
! 			size_t					theTargetSize,
! 			size_t&					theSourceCharsTranscoded,
! 			size_t&					theTargetBytesUsed);
  
  	/**
--- 61,69 ----
  	transcode(
  			const XalanDOMChar*		theSourceData,
! 			size_type					theSourceCount,
  			XalanXMLByte*			theTarget,
! 			size_type					theTargetSize,
! 			size_type&					theSourceCharsTranscoded,
! 			size_type&					theTargetBytesUsed);
  
  	/**
***************
*** 120,132 ****
  	transcode(
  			const XalanXMLByte*		theSourceData,
! 			size_t					theSourceCount,
  			XalanDOMChar*			theTarget,
! 			size_t					theTargetSize,
! 			size_t&					theSourceCharsTranscoded,
! 			size_t&					theTargetBytesUsed,
  			unsigned char*			theCharSizes);
  
  	virtual bool
! 	canTranscodeTo(unsigned int		theChar) const;
  
  private:
--- 82,94 ----
  	transcode(
  			const XalanXMLByte*		theSourceData,
! 			size_type					theSourceCount,
  			XalanDOMChar*			theTarget,
! 			size_type					theTargetSize,
! 			size_type&					theSourceCharsTranscoded,
! 			size_type&					theTargetBytesUsed,
  			unsigned char*			theCharSizes);
  
  	virtual bool
! 	canTranscodeTo(UnicodeCharType	theChar) const;
  
  private:

Index: XalanArrayAllocator.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanArrayAllocator.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanArrayAllocator.hpp	8 Apr 2004 07:56:10 -0000	1.1.1.1
--- XalanArrayAllocator.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANARRAYALLOCATOR_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANARRAYALLOCATOR_HEADER_GUARD_1357924680)
***************
*** 65,71 ****
  
  #include <cassert>
- #include <list>
  #include <utility>
! #include <vector>
  
  
--- 24,33 ----
  
  #include <cassert>
  #include <utility>
! 
! 
! #include <xalanc/Include/XalanMemMgrHelper.hpp>
! #include <xalanc/Include/XalanVector.hpp>
! #include <xalanc/Include/XalanList.hpp>
  
  
***************
*** 80,94 ****
  public:
  
! #if defined(XALAN_NO_STD_NAMESPACE)
! 	typedef vector<Type>					VectorType;
  	typedef typename VectorType::size_type	size_type;
! 	typedef pair<size_type, VectorType>		ListEntryType;
! 	typedef list<ListEntryType>				ListType;
! #else
! 	typedef std::vector<Type>					VectorType;
! 	typedef typename VectorType::size_type		size_type;
! 	typedef std::pair<size_type, VectorType>	ListEntryType;
! 	typedef std::list<ListEntryType>			ListType;
! #endif
  
  	typedef Type							value_type;
--- 42,50 ----
  public:
  
! 	typedef XalanVector<Type>				VectorType;
  	typedef typename VectorType::size_type	size_type;
! 
! 	typedef XALAN_STD_QUALIFIER pair<size_type, VectorType * >		ListEntryType;
! 	typedef XalanList<ListEntryType>							    ListType;
  
  	typedef Type							value_type;
***************
*** 104,109 ****
  	 * @param theBlockSize The block size when allocating.
  	 */
! 	XalanArrayAllocator(size_type	theBlockSize = eDefaultBlockSize) :
! 		m_list(),
  		m_blockSize(theBlockSize),
  		m_lastEntryFound(0)
--- 60,66 ----
  	 * @param theBlockSize The block size when allocating.
  	 */
! 	XalanArrayAllocator(MemoryManagerType&       theManager,
!                         size_type	theBlockSize = eDefaultBlockSize) :
! 		m_list(theManager),
  		m_blockSize(theBlockSize),
  		m_lastEntryFound(0)
***************
*** 111,117 ****
  	}
  
! 	~XalanArrayAllocator()
! 	{
! 	}
  
  	/**
--- 68,90 ----
  	}
  
!     ~XalanArrayAllocator()
!     {        
!         typename ListType::iterator iter = m_list.begin();
! 
!         MemoryManagerType& theManager = m_list.getMemoryManager();
! 
!         for( iter = m_list.begin(); iter != m_list.end(); ++iter)
!         {
!             if( (*iter).second != 0)
!             {
! #if defined(XALAN_REQUIRES_QUALIFIED_DESTRUCTOR)
! 				(*iter).second->VectorType::~VectorType();
! #else
!                 (*iter).second->~VectorType();
! #endif               
!                 theManager.deallocate((void*)(*iter).second);
!             }
!         }
!     }
  
  	/**
***************
*** 145,149 ****
  			do
  			{
! 				(*theCurrent).first = (*theCurrent).second.size();
  
  				++theCurrent;
--- 118,122 ----
  			do
  			{
! 				(*theCurrent).first = (*theCurrent).second->size();
  
  				++theCurrent;
***************
*** 183,188 ****
  				// The address we want is that of the first free element in the
  				// vector...
  				Type* const		thePointer =
! 					&*theEntry->second.begin() + (theEntry->second.size() - theEntry->first);
  
  				// Resize the vector to the appropriate size...
--- 156,162 ----
  				// The address we want is that of the first free element in the
  				// vector...
+                 assert( theEntry->second != 0);
  				Type* const		thePointer =
! 					&*theEntry->second->begin() + (theEntry->second->size() - theEntry->first);
  
  				// Resize the vector to the appropriate size...
***************
*** 206,210 ****
  		// Push on a new entry.  The entry has no open space,
  		// since it's greater than our block size...
! 		m_list.push_back(ListEntryType(0, VectorType()));
  
  		// Get the new entry...
--- 180,184 ----
  		// Push on a new entry.  The entry has no open space,
  		// since it's greater than our block size...
!         m_list.push_back(ListEntryType(0, VectorType::create(m_list.getMemoryManager())));
  
  		// Get the new entry...
***************
*** 212,216 ****
  
  		// Resize the vector to the appropriate size...
! 		theNewEntry.second.resize(theBlockSize, VectorType::value_type(0));
  
  		// Set the number of free spaces accordingly...
--- 186,192 ----
  
  		// Resize the vector to the appropriate size...
!         assert(theNewEntry.second);
! 
! 		theNewEntry.second->resize(theBlockSize, value_type());
  
  		// Set the number of free spaces accordingly...
***************
*** 223,227 ****
  
  		// Return a pointer to the beginning of the allocated memory...
! 		return &*theNewEntry.second.begin();
  	}
  
--- 199,203 ----
  
  		// Return a pointer to the beginning of the allocated memory...
! 		return &*theNewEntry.second->begin();
  	}
  

Index: AttributeVectorEntryExtended.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/AttributeVectorEntryExtended.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** AttributeVectorEntryExtended.hpp	8 Apr 2004 07:56:06 -0000	1.1.1.1
--- AttributeVectorEntryExtended.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(ATTRIBUTEVECTORENTRYEXTENDED_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(ATTRIBUTEVECTORENTRYEXTENDED_HEADER_GUARD_1357924680)
***************
*** 67,71 ****
  #include <xalanc/PlatformSupport/AttributeVectorEntry.hpp>
  
! 
  
  XALAN_CPP_NAMESPACE_BEGIN
--- 26,30 ----
  #include <xalanc/PlatformSupport/AttributeVectorEntry.hpp>
  
! #include <xalanc/Include/XalanMemMgrAutoPtr.hpp>
  
  XALAN_CPP_NAMESPACE_BEGIN
***************
*** 81,89 ****
  			const XMLChVectorType&	theValue,
  			const XMLChVectorType&	theType,
! 			const XMLChVectorType&	theURI = XMLChVectorType(),
! 			const XMLChVectorType&	theLocalName = XMLChVectorType()) :
! 		AttributeVectorEntry(theName, theValue, theType),
! 		m_uri(theURI),
! 		m_localName(theLocalName)
  	{
  	}
--- 40,49 ----
  			const XMLChVectorType&	theValue,
  			const XMLChVectorType&	theType,
! 			const XMLChVectorType&	theURI ,
! 			const XMLChVectorType&	theLocalName,
!             MemoryManagerType&      theManager) :
! 		AttributeVectorEntry(theName, theValue, theType, theManager),
! 		m_uri(theURI, theManager),
! 		m_localName(theLocalName, theManager)
  	{
  	}
***************
*** 94,101 ****
  			const XMLCh*	theType,
  			const XMLCh*	theURI,
! 			const XMLCh*	theLocalName) :
! 		AttributeVectorEntry(theName, theValue, theType),
! 		m_uri(theURI, theURI + length(theURI) + 1),
! 		m_localName(theLocalName, theLocalName + length(theLocalName) + 1)
  	{
  	}
--- 54,62 ----
  			const XMLCh*	theType,
  			const XMLCh*	theURI,
! 			const XMLCh*	theLocalName,
!             MemoryManagerType&      theManager) :
! 		AttributeVectorEntry(theName, theValue, theType, theManager),
! 		m_uri(theURI, theURI + length(theURI) + 1, theManager),
! 		m_localName(theLocalName, theLocalName + length(theLocalName) + 1,theManager)
  	{
  	}
***************
*** 104,120 ****
  			const XMLCh*	theName,
  			const XMLCh*	theValue,
! 			const XMLCh*	theType) :
! 		AttributeVectorEntry(theName, theValue, theType),
! 		m_uri(),
! 		m_localName()
  	{
  	}
  
! 	AttributeVectorEntryExtended() :
! 		AttributeVectorEntry(),
! 		m_uri(),
! 		m_localName()
  	{
  	}
  
      virtual
--- 65,104 ----
  			const XMLCh*	theName,
  			const XMLCh*	theValue,
! 			const XMLCh*	theType,
!             MemoryManagerType&      theManager) :
! 		AttributeVectorEntry(theName, theValue, theType,theManager),
! 		m_uri(theManager),
! 		m_localName(theManager)
  	{
  	}
  
! 	AttributeVectorEntryExtended(MemoryManagerType&      theManager) :
! 		AttributeVectorEntry(theManager),
! 		m_uri(theManager),
! 		m_localName(theManager)
  	{
  	}
+ 
+     static AttributeVectorEntryExtended*
+     create(
+ 			const XMLCh*	theName,
+ 			const XMLCh*	theValue,
+ 			const XMLCh*	theType,
+ 			const XMLCh*	theURI,
+ 			const XMLCh*	theLocalName,
+             MemoryManagerType&      theManager)
+     {
+         typedef AttributeVectorEntryExtended ThisType;
+         
+         XalanMemMgrAutoPtr<ThisType, false> theGuard( theManager , (ThisType*)theManager.allocate(sizeof(ThisType)));
+ 
+         ThisType* theResult = theGuard.get();
+ 
+         new (theResult) ThisType(theName, theValue, theType, theURI, theLocalName, theManager);
+ 
+         theGuard.release();
+ 
+         return theResult;
+     }
  
      virtual

Index: XalanICUMessageLoader.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanICUMessageLoader.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanICUMessageLoader.hpp	8 Apr 2004 07:56:12 -0000	1.1.1.1
--- XalanICUMessageLoader.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANICUMESSAGELOADER_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANICUMESSAGELOADER_HEADER_GUARD_1357924680)
***************
*** 81,85 ****
  public:
  
! 	XalanICUMessageLoader();
  
  	virtual
--- 40,44 ----
  public:
  
! 	XalanICUMessageLoader(MemoryManagerType& theManager);
  
  	virtual

Index: StringTokenizer.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/StringTokenizer.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** StringTokenizer.hpp	8 Apr 2004 07:56:09 -0000	1.1.1.1
--- StringTokenizer.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(STRINGTOKENIZER_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(STRINGTOKENIZER_HEADER_GUARD_1357924680)
***************
*** 149,160 ****
  	hasMoreTokens() const;
  
- 	/**
- 	 * Retrieve the next token to be parsed; behavior is undefined if there are
- 	 * no more tokens
- 	 * 
- 	 * @return next token string
- 	 */
- 	XalanDOMString
- 	nextToken();
  
  	/**
--- 108,111 ----
***************
*** 188,192 ****
  private:
  
! 	const XalanDOMChar* const			m_string;
  
  	const XalanDOMChar*	const			m_tokens;
--- 139,154 ----
  private:
  
!     // These are not implemented...
!     StringTokenizer(const StringTokenizer&);
! 
!     StringTokenizer&
!     operator=(const StringTokenizer&);
! 
!     bool
!     operator==(const StringTokenizer&) const;
! 
! 
!     // Data members...
!     const XalanDOMChar* const			m_string;
  
  	const XalanDOMChar*	const			m_tokens;

Index: XalanLocator.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanLocator.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanLocator.hpp	8 Apr 2004 07:56:12 -0000	1.1.1.1
--- XalanLocator.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANLOCATOR_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANLOCATOR_HEADER_GUARD_1357924680)
***************
*** 73,135 ****
  
  
  /**
   * This class defines a base class for Locator derivations in Xalan.  It was defined
   * because Xerces made changes in their Locator class which caused turbulence.
   */
! class XALAN_PLATFORMSUPPORT_EXPORT XalanLocator : public XERCES_CPP_NAMESPACE_QUALIFIER Locator
  {
  public:
  
! 	typedef XERCES_CPP_NAMESPACE_QUALIFIER Locator	ParentType;
  
! #if XERCES_VERSION_MAJOR >= 2
! 	typedef XMLSSize_t	size_type;
! #else
! 	typedef int			size_type;
! #endif
  
! 	XalanLocator() {}
  
! 	virtual
! 	~XalanLocator() {}
  
! 	virtual const XMLCh*
! 	getPublicId() const = 0;
  
! 	virtual const XMLCh*
! 	getSystemId() const = 0;
  
! 	virtual size_type
! 	getLineNumber() const = 0;
  
! 	virtual size_type
! 	getColumnNumber() const = 0;
  
! 	static size_type
! 	getLineNumber(const ParentType*		theLocator)
! 	{
! 		return theLocator == 0 ? size_type(-1) : theLocator->getLineNumber();
! 	}
  
! 	static size_type
! 	getColumnNumber(const ParentType*	theLocator)
! 	{
! 		return theLocator == 0 ? size_type(-1) : theLocator->getColumnNumber();
! 	}
  
! 	static size_type
! 	getUnknownValue()
! 	{
! 		return size_type(-1);
! 	}
  
  private:
  
! 	// Not defined...
! 	XalanLocator(const XalanLocator&);
! 
! 	XalanLocator&
! 	operator=(const XalanLocator&);
  
  };
  
--- 32,93 ----
  
  
+ XALAN_USING_XERCES(Locator)
+ 
+ 
+ 
  /**
   * This class defines a base class for Locator derivations in Xalan.  It was defined
   * because Xerces made changes in their Locator class which caused turbulence.
   */
! class XALAN_PLATFORMSUPPORT_EXPORT XalanLocator : public Locator
  {
  public:
  
!     typedef Locator     ParentType;
  
!     typedef XMLSSize_t  size_type;
  
!     XalanLocator() {}
  
!     virtual
!     ~XalanLocator() {}
  
!     virtual const XMLCh*
!     getPublicId() const = 0;
  
!     virtual const XMLCh*
!     getSystemId() const = 0;
  
!     virtual size_type
!     getLineNumber() const = 0;
  
!     virtual size_type
!     getColumnNumber() const = 0;
  
!     static size_type
!     getLineNumber(const ParentType*     theLocator)
!     {
!         return theLocator == 0 ? size_type(-1) : theLocator->getLineNumber();
!     }
  
!     static size_type
!     getColumnNumber(const ParentType*   theLocator)
!     {
!         return theLocator == 0 ? size_type(-1) : theLocator->getColumnNumber();
!     }
  
!     static size_type
!     getUnknownValue()
!     {
!         return size_type(-1);
!     }
  
  private:
  
!     // Not defined...
!     XalanLocator(const XalanLocator&);
  
+     XalanLocator&
+     operator=(const XalanLocator&);
  };
  
***************
*** 140,142 ****
  
  
! #endif	// PREFIXRESOLVER_HEADER_GUARD_1357924680
--- 98,100 ----
  
  
! #endif  // PREFIXRESOLVER_HEADER_GUARD_1357924680

Index: XalanParsedURI.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanParsedURI.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanParsedURI.hpp	8 Apr 2004 07:56:14 -0000	1.1.1.1
--- XalanParsedURI.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  
***************
*** 102,106 ****
  	 * Default constructor 
  	 */
! 	XalanParsedURI() :
  		m_defined(0)
  	{
--- 61,70 ----
  	 * Default constructor 
  	 */
! 	XalanParsedURI(MemoryManagerType&      theManager) :
!         m_scheme(theManager),
!         m_authority(theManager),
!         m_path(theManager),
!         m_query(theManager),
!         m_fragment(theManager),
  		m_defined(0)
  	{
***************
*** 115,119 ****
  	XalanParsedURI(
  		const XalanDOMChar*			uriString,
! 		XalanDOMString::size_type	uriStringLen) : 
  		m_defined(0)
  	{
--- 79,89 ----
  	XalanParsedURI(
  		const XalanDOMChar*			uriString,
! 		XalanDOMString::size_type	uriStringLen,
!         MemoryManagerType&          theManager) : 
!         m_scheme(theManager),
!         m_authority(theManager),
!         m_path(theManager),
!         m_query(theManager),
!         m_fragment(theManager),
  		m_defined(0)
  	{
***************
*** 127,131 ****
  	 */
  	XalanParsedURI(
! 		const XalanDOMString		&uriString) :
  		m_defined(0)
  	{
--- 97,107 ----
  	 */
  	XalanParsedURI(
! 		const XalanDOMString		&uriString,
!         MemoryManagerType&          theManager) :
!         m_scheme(theManager),
!         m_authority(theManager),
!         m_path(theManager),
!         m_query(theManager),
!         m_fragment(theManager),
  		m_defined(0)
  	{
***************
*** 133,136 ****
--- 109,118 ----
  	}
  
+     MemoryManagerType&
+     getMemoryManager()
+     {
+         return m_scheme.getMemoryManager();
+     }
+ 
  	/**
  	 * Parse the passed in uri
***************
*** 160,164 ****
  	 * @return	The reassembled URI
  	 */
! 	XalanDOMString make() const;
  
  	/**
--- 142,146 ----
  	 * @return	The reassembled URI
  	 */
! 	XalanDOMString& make(XalanDOMString&		theResult) const;
  
  	/**
***************
*** 179,183 ****
  		const XalanDOMString::size_type baseLen)
  	{
! 		XalanParsedURI baseURI(base, baseLen);
  
  		resolve(baseURI);
--- 161,165 ----
  		const XalanDOMString::size_type baseLen)
  	{
! 		XalanParsedURI baseURI(base, baseLen,getMemoryManager());
  
  		resolve(baseURI);
***************
*** 204,212 ****
  	 *
  	 */
! 	static XalanDOMString resolve(
  		const XalanDOMChar			*relative,
  		XalanDOMString::size_type	relativeLen,
  		const XalanDOMChar			*base,
! 		XalanDOMString::size_type	baseLen
  	);
  
--- 186,195 ----
  	 *
  	 */
! 	static XalanDOMString& resolve(
  		const XalanDOMChar			*relative,
  		XalanDOMString::size_type	relativeLen,
  		const XalanDOMChar			*base,
! 		XalanDOMString::size_type	baseLen,
!         XalanDOMString&		        theResult
  	);
  
***************
*** 219,228 ****
  	 *
  	 */
! 	static XalanDOMString resolve(
! 		const XalanDOMString &relative,
! 		const XalanDOMString &base
  	)
  	{
! 		return resolve(relative.c_str(), relative.length(), base.c_str(), base.length());
  	}
  
--- 202,212 ----
  	 *
  	 */
! 	static XalanDOMString& resolve(
! 		const XalanDOMString    &relative,
! 		const XalanDOMString    &base,
!         XalanDOMString&		    theResult
  	)
  	{
! 		return resolve(relative.c_str(), relative.length(), base.c_str(), base.length(), theResult);
  	}
  
***************
*** 240,244 ****
  	bool isSchemeDefined() const 
  	{ 
! 		return !!(m_defined & d_scheme); 
  	}
  
--- 224,228 ----
  	bool isSchemeDefined() const 
  	{ 
! 		return m_defined & d_scheme;
  	}
  
***************
*** 274,278 ****
  	bool isAuthorityDefined() const 
  	{ 
! 		return !!(m_defined & d_authority); 
  	}
  
--- 258,262 ----
  	bool isAuthorityDefined() const 
  	{ 
!         return m_defined & d_authority ? true : false; 
  	}
  
***************
*** 332,336 ****
  	bool isQueryDefined() const 
  	{ 
! 		return !!(m_defined & d_query); 
  	}
  
--- 316,320 ----
  	bool isQueryDefined() const 
  	{ 
! 		return m_defined & d_query ? true : false;
  	}
  
***************
*** 366,370 ****
  	bool isFragmentDefined() const 
  	{ 
! 		return !!(m_defined & d_fragment); 
  	}
  
--- 350,354 ----
  	bool isFragmentDefined() const 
  	{ 
! 		return m_defined & d_fragment ? true : false;
  	}
  
***************
*** 404,407 ****
--- 388,395 ----
  
  private:
+     // not implemented
+     XalanParsedURI();
+     XalanParsedURI(const XalanParsedURI&);
+ 
  	XalanDOMString	m_scheme;
  	XalanDOMString	m_authority;

Index: XalanEncodingPropertyCache.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanEncodingPropertyCache.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanEncodingPropertyCache.hpp	8 Apr 2004 07:56:11 -0000	1.1.1.1
--- XalanEncodingPropertyCache.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANENCODINGPROPERTYCACHE_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANENCODINGPROPERTYCACHE_HEADER_GUARD_1357924680)
***************
*** 86,89 ****
--- 45,49 ----
  
  	XalanEncodingPropertyCache(
+             MemoryManagerType&                  theManager,
  			size_t								theCacheSize = XalanDOMChar(~0),
  			const XalanOutputTranscoder*		theTranscoder = 0);

Index: XalanDecimalFormatSymbols.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanDecimalFormatSymbols.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanDecimalFormatSymbols.hpp	8 Apr 2004 07:56:10 -0000	1.1.1.1
--- XalanDecimalFormatSymbols.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANDECIMALFORMATSYMBOLS_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANDECIMALFORMATSYMBOLS_HEADER_GUARD_1357924680)
***************
*** 85,91 ****
  	// on all of our platforms yet.
  	explicit
! 	XalanDecimalFormatSymbols();
  
! 	XalanDecimalFormatSymbols(const XalanDecimalFormatSymbols&	theSource);
  
  	~XalanDecimalFormatSymbols();
--- 44,51 ----
  	// on all of our platforms yet.
  	explicit
! 	XalanDecimalFormatSymbols(MemoryManagerType&  theManager);
  
! 	XalanDecimalFormatSymbols(const XalanDecimalFormatSymbols&	theSource,
!                                 MemoryManagerType&              theManager);
  
  	~XalanDecimalFormatSymbols();
***************
*** 451,454 ****
--- 411,417 ----
  
  private:
+     // not implemented
+     XalanDecimalFormatSymbols();
+     XalanDecimalFormatSymbols(const XalanDecimalFormatSymbols&);
  
  	XalanDOMString	m_currencySymbol;

Index: XalanCollationServices.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanCollationServices.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanCollationServices.hpp	8 Apr 2004 07:56:10 -0000	1.1.1.1
--- XalanCollationServices.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANCOLLATIONSERVICES_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANCOLLATIONSERVICES_HEADER_GUARD_1357924680)

Index: AttributesImpl.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/AttributesImpl.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** AttributesImpl.hpp	8 Apr 2004 07:56:06 -0000	1.1.1.1
--- AttributesImpl.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(ATTRIBUTESIMPL_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(ATTRIBUTESIMPL_HEADER_GUARD_1357924680)
***************
*** 65,69 ****
  
  
! #include <vector>
  
  
--- 24,28 ----
  
  
! #include <xalanc/Include/XalanVector.hpp>
  
  
***************
*** 90,101 ****
  
  	explicit
! 	AttributesImpl();
  
  	virtual
  	~AttributesImpl();
  
!     AttributesImpl(const AttributesImpl&	theSource);
  
!     AttributesImpl(const AttributesType&	theSource);
  
      AttributesImpl&
--- 49,62 ----
  
  	explicit
! 	AttributesImpl(MemoryManagerType&      theManager XALAN_DEFAULT_MEMMGR);
  
  	virtual
  	~AttributesImpl();
  
!     AttributesImpl(const AttributesImpl&	theSource,
!                     MemoryManagerType&      theManager);
  
!     AttributesImpl(const AttributesType&	theSource,
!                     MemoryManagerType&      theManager);
  
      AttributesImpl&
***************
*** 148,151 ****
--- 109,118 ----
  			const XMLCh* const	localName) const;
  
+     MemoryManagerType&
+     getMemoryManager()
+     {
+         return m_attributesVector.getMemoryManager();
+     }
+ 
  	// The mutators are new to this class.
  
***************
*** 225,235 ****
  	}
  
- #if defined(XALAN_NO_STD_NAMESPACE)
- 	// This vector will hold the entries.
- 	typedef vector<AttributeVectorEntryExtended*>		AttributesVectorType;
- #else
  	// This vector will hold the entries.
! 	typedef std::vector<AttributeVectorEntryExtended*>	AttributesVectorType;
! #endif
  
  #if defined(XALAN_NEEDS_EXPLICIT_TEMPLATE_INSTANTIATION)
--- 192,197 ----
  	}
  
  	// This vector will hold the entries.
! 	typedef XalanVector<AttributeVectorEntryExtended*>		AttributesVectorType;
  
  #if defined(XALAN_NEEDS_EXPLICIT_TEMPLATE_INSTANTIATION)

Index: DirectoryEnumerator.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/DirectoryEnumerator.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** DirectoryEnumerator.hpp	8 Apr 2004 07:56:06 -0000	1.1.1.1
--- DirectoryEnumerator.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(DIRECTORY_ENUMERATOR_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(DIRECTORY_ENUMERATOR_HEADER_GUARD_1357924680)
***************
*** 68,72 ****
--- 27,34 ----
  #include <io.h>
  #else
+ #include <unistd.h>
  #include <dirent.h>
+ #include <sys/stat.h>
+ #include <errno.h>
  #endif
  
***************
*** 77,83 ****
  
  
  
! #include <xalanc/PlatformSupport/DOMStringHelper.hpp>
! #include <xalanc/PlatformSupport/XalanUnicode.hpp>
  
  
--- 39,49 ----
  
  
+ #include "xercesc/framework/MemoryManager.hpp"
  
! 
! 
! #include "xalanc/PlatformSupport/XalanFileOutputStream.hpp"
! #include "xalanc/PlatformSupport/DOMStringHelper.hpp"
! #include "xalanc/PlatformSupport/XalanUnicode.hpp"
  
  
***************
*** 87,90 ****
--- 53,60 ----
  
  
+ XALAN_USING_XERCES(MemoryManager)
+ 
+ 
+ 
  #if defined(_MSC_VER)
  
***************
*** 179,202 ****
  	bool isDirectory() const
  	{
! #if defined(AIX) || defined(HPUX) || defined(SOLARIS) || defined(OS390) || defined(OS400) || defined(TRU64)
! 		return false;
! #else		
! 		if (d_type == DT_DIR || d_type == DT_UNKNOWN)
! 		{
! 			return true;
! 		}
! 		else
! 		{
! 			return false;
! 		}
! #endif		
  	}
  
  	bool
  	isSelfOrParent() const
! 	{
! #if defined(AIX) || defined(HPUX) || defined(SOLARIS) || defined(OS390) || defined(OS400) || defined(TRU64)
! 		return false;
! #else		
  		if (isDirectory() == false)
  		{
--- 149,168 ----
  	bool isDirectory() const
  	{
! #if defined(__SunOS_5_10) && (__SUNPRO_CC >= 0x570)
!             struct stat64 stat_Info;
! 
!             const int   retCode = stat64(d_name, &stat_Info);
! #else
!             struct	stat stat_Info;
! 		
!             const int   retCode = stat(d_name, &stat_Info);
! #endif
! 
!         return retCode == -1 ? false : S_ISDIR(stat_Info.st_mode);
  	}
  
  	bool
  	isSelfOrParent() const
! 	{		
  		if (isDirectory() == false)
  		{
***************
*** 223,227 ****
  			return false;
  		}
- #endif
  	}
  };
--- 189,192 ----
***************
*** 270,273 ****
--- 235,239 ----
  void
  EnumerateDirectory(
+             MemoryManager&              theMemoryManager,
  			const StringType&			theFullSearchSpec,
  			OutputIteratorType			theOutputIterator,
***************
*** 282,291 ****
  #if defined(_MSC_VER)
  	FindFileStruct 		theFindData;
  
! 	long	theSearchHandle = _wfindfirst(const_cast<wchar_t*>(theConversionFunction(theFullSearchSpec)),
! 										  &theFindData);
  
  	if (theSearchHandle != -1)
  	{
  		try
  		{
--- 248,269 ----
  #if defined(_MSC_VER)
  	FindFileStruct 		theFindData;
+ 	
+ 	#ifdef _WIN64
+ 		typedef	intptr_t	theHandleType;
+ 	#else
+ 		typedef	long	theHandleType;
+ 	#endif
  
! #pragma warning(push)
! #pragma warning(disable: 4244)
! 	theHandleType	theSearchHandle =
!         _wfindfirst(
!             const_cast<wchar_t*>(theConversionFunction(theFullSearchSpec)),
! 			&theFindData);
! #pragma warning(pop)
  
  	if (theSearchHandle != -1)
  	{
+   
  		try
  		{
***************
*** 295,299 ****
  					theFilterPredicate(theFindData) == true)
  				{
! 					*theOutputIterator = StringType(theFindData.getName());
  				}
  			}
--- 273,277 ----
  					theFilterPredicate(theFindData) == true)
  				{
! 					*theOutputIterator = StringType(theFindData.getName(), theMemoryManager);
  				}
  			}
***************
*** 311,322 ****
  	}
  
- 	
- #elif defined(LINUX)
  
! 	CharVectorType	theTargetVector;
  
  	TranscodeToLocalCodePage(theFullSearchSpec, theTargetVector, false);
  
  	const CharVectorType::size_type		theSize = theTargetVector.size();
  
  	if (theSize > 0)
--- 289,302 ----
  	}
  
  
! #else	
! 
! 	CharVectorType	theTargetVector(theMemoryManager);
  
  	TranscodeToLocalCodePage(theFullSearchSpec, theTargetVector, false);
  
  	const CharVectorType::size_type		theSize = theTargetVector.size();
+ 	int  indexSuffix=0, indexName=0;
+ 	bool target_Dir = false; 
  
  	if (theSize > 0)
***************
*** 324,327 ****
--- 304,308 ----
  		if (theTargetVector.back() == '*')
  		{
+ 			target_Dir = true;
  			theTargetVector.pop_back();
  
***************
*** 330,334 ****
--- 311,333 ----
  				theTargetVector.push_back('.');
  			}
+ 		
  		}
+ 		else
+         {
+ 			target_Dir = false;
+ 
+ 			while(theTargetVector.back() != '*')
+ 			{
+ 				theTargetVector.pop_back();
+ 				indexSuffix++;
+ 			}
+ 
+ 			theTargetVector.pop_back();
+ 			while(theTargetVector.back() != '/')
+ 			{ 
+ 				theTargetVector.pop_back();
+ 				indexName++;
+ 			}
+ 		}      
  
  		theTargetVector.push_back('\0');
***************
*** 336,339 ****
--- 335,351 ----
  		const char* const	theSpec = c_str(theTargetVector);
  		assert(theSpec != 0);
+ 		
+ 		XalanDOMString		theName(theMemoryManager);
+ 		XalanDOMString		theSuffix(theMemoryManager);
+ 		if ( !target_Dir )
+ 		{
+ #if defined(XALAN_STRICT_ANSI_HEADERS)
+             using std::strlen;
+ #endif
+ 
+ 			int lenSpec = strlen(theSpec); 
+ 			theFullSearchSpec.substr(theName, lenSpec, indexName); 
+ 			theFullSearchSpec.substr(theSuffix, lenSpec+indexName+1, indexSuffix);
+ 		}
  
  		DIR* const	theDirectory = opendir(theSpec);
***************
*** 341,344 ****
--- 353,357 ----
  		if (theDirectory != 0)
  		{
+ 			chdir(theSpec);
  			try
  			{
***************
*** 348,360 ****
  				while(theEntry != 0)
  				{
! 					if ((fIncludeSelfAndParent == true || theEntry->isSelfOrParent() == false) &&
! 						theFilterPredicate(*theEntry) == true)
  					{
! 						*theOutputIterator = StringType(theEntry->getName());
  					}
- 
  					theEntry = (FindFileStruct*)readdir(theDirectory);
! 				}
! 			}
  			catch(...)
  			{
--- 361,390 ----
  				while(theEntry != 0)
  				{
! 					if ((fIncludeSelfAndParent == true || theEntry->isSelfOrParent() == false))
  					{
! 						if (theFilterPredicate(*theEntry) == true)
! 						{
! 							if( target_Dir )
! 							{
! 								*theOutputIterator = StringType(theEntry->getName(), theMemoryManager);
! 							}
! 							else
! 							{
! 								XalanDOMString	Getname(theEntry->getName(), theMemoryManager);
! 								int	Check_1 = Getname.compare(theName);
! 								XalanDOMString	GetnameSuffix(theMemoryManager);
!                                 Getname.substr(GetnameSuffix, Getname.size() -indexSuffix, indexSuffix);            
! 								int Check_2 = GetnameSuffix.compare(theSuffix);
! 								if ( Check_1 == 1 && (!Check_2) )
! 								{
! 								*theOutputIterator = StringType(theEntry->getName(), theMemoryManager);
! 								}
! 							}
! 						}
  					}
  					theEntry = (FindFileStruct*)readdir(theDirectory);
! 				} //while
! 			}//try
! 
  			catch(...)
  			{
***************
*** 363,373 ****
  				throw;
  			}
! 
  			closedir(theDirectory);
  		}
  	}
! #else
! 	// Do nothing for now...
! 	// Unsupported platform!!!
  #endif
  }
--- 393,404 ----
  				throw;
  			}
! 			if( target_Dir )
!                            chdir("..");
!                          else
!                            chdir("../..");
  			closedir(theDirectory);
  		}
  	}
! 
  #endif
  }
***************
*** 381,384 ****
--- 412,416 ----
  void
  EnumerateDirectory(
+             MemoryManager&              theMemoryManager,
  			const StringType&			theDirectory,
  			const StringType&			theSearchSpec,
***************
*** 392,400 ****
  #endif
  {
! 	StringType	theFullSearchSpec(theDirectory);
  
  	theFullSearchSpec += theSearchSpec;
  
! 	EnumerateDirectory(theFullSearchSpec, theOutputIterator, theFilterPredicate, theConversionFunction, fIncludeSelfAndParent);
  }
  
--- 424,438 ----
  #endif
  {
! 	StringType	theFullSearchSpec(theDirectory, theMemoryManager);
  
  	theFullSearchSpec += theSearchSpec;
  
! 	EnumerateDirectory(
!         theMemoryManager,
!         theFullSearchSpec,
!         theOutputIterator,
!         theFilterPredicate,
!         theConversionFunction,
!         fIncludeSelfAndParent);
  }
  
***************
*** 444,449 ****
  
  	explicit
! 	DirectoryEnumeratorFunctor(bool		fIncludeSelfAndParent = false) :
! 		m_includeSelfAndParent(fIncludeSelfAndParent)
  	{
  	}
--- 482,490 ----
  
  	explicit
! 	DirectoryEnumeratorFunctor(
!                 MemoryManager&  theMemoryManager,
!                 bool            fIncludeSelfAndParent = false) :
! 		m_includeSelfAndParent(fIncludeSelfAndParent),
!         m_memoryManager(theMemoryManager)
  	{
  	}
***************
*** 457,465 ****
  
  		EnumerateDirectory(
! 				theFullSearchSpec,
! 				XALAN_STD_QUALIFIER back_inserter(theCollection),
! 				m_filterPredicate,
! 				m_conversionFunction,
! 				m_includeSelfAndParent);
  	}
  
--- 498,507 ----
  
  		EnumerateDirectory(
!             m_memoryManager,
! 			theFullSearchSpec,
! 			XALAN_STD_QUALIFIER back_inserter(theCollection),
! 			m_filterPredicate,
! 			m_conversionFunction,
! 			m_includeSelfAndParent);
  	}
  
***************
*** 483,492 ****
  	{
  		EnumerateDirectory(
! 				theDirectory,
! 				theSearchSpec,
! 				XALAN_STD_QUALIFIER back_inserter(theCollection),
! 				m_filterPredicate,
! 				m_conversionFunction,
! 				m_includeSelfAndParent);
  	}
  
--- 525,535 ----
  	{
  		EnumerateDirectory(
!             m_memoryManager,
! 		    theDirectory,
! 			theSearchSpec,
! 			XALAN_STD_QUALIFIER back_inserter(theCollection),
! 			m_filterPredicate,
! 			m_conversionFunction,
! 			m_includeSelfAndParent);
  	}
  
***************
*** 513,516 ****
--- 556,561 ----
  
  	const bool					m_includeSelfAndParent;
+ 
+     MemoryManager&              m_memoryManager;
  };
  #endif

Index: XalanFileOutputStream.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanFileOutputStream.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanFileOutputStream.hpp	8 Apr 2004 07:56:11 -0000	1.1.1.1
--- XalanFileOutputStream.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANFILEOUTPUTSTREAM_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANFILEOUTPUTSTREAM_HEADER_GUARD_1357924680)
***************
*** 71,76 ****
  #endif
  
- #include <vector>
- 
  
  
--- 30,33 ----
***************
*** 104,109 ****
--- 61,72 ----
      XalanFileOutputStream(
  			const XalanDOMString&	theFileName,
+             MemoryManagerType&      theManager,
  			unsigned int			theBufferSize = eDefaultBufferSize);
  
+     static XalanFileOutputStream*
+     create(
+ 			const XalanDOMString&	theFileName,
+             MemoryManagerType&      theManager,
+ 			unsigned int			theBufferSize = eDefaultBufferSize);
      virtual
  	~XalanFileOutputStream();
***************
*** 123,130 ****
  		XalanFileOutputStreamOpenException(
  			const XalanDOMString&	theFileName,
! 			int						theErrorCode);
  
  		virtual
  		~XalanFileOutputStreamOpenException();
  	};
  
--- 86,111 ----
  		XalanFileOutputStreamOpenException(
  			const XalanDOMString&	theFileName,
! 			int						theErrorCode,
!             XalanDOMString&         theBuffer);
! 
!         static XalanFileOutputStreamOpenException*
!         create(
!             MemoryManagerType&      theManager,
!             const XalanDOMString&	theFileName,
! 			int						theErrorCode,
!             XalanDOMString&         theBuffer);
  
  		virtual
  		~XalanFileOutputStreamOpenException();
+ 
+ 		virtual const XalanDOMChar*
+ 		getType() const
+ 		{
+ 			return m_type;
+ 		}
+ 
+ 	private:
+ 		static const XalanDOMChar	m_type[];
+ 
  	};
  
***************
*** 142,149 ****
  		XalanFileOutputStreamWriteException(
  			const XalanDOMString&	theFileName,
! 			int						theErrorCode);
  
  		virtual
  		~XalanFileOutputStreamWriteException();
  	};
  
--- 123,141 ----
  		XalanFileOutputStreamWriteException(
  			const XalanDOMString&	theFileName,
! 			int						theErrorCode,
!             XalanDOMString&         theBuffer);
  
  		virtual
  		~XalanFileOutputStreamWriteException();
+ 
+ 		virtual const XalanDOMChar*
+ 		getType() const
+ 		{
+ 			return m_type;
+ 		}
+ 
+ 	private:
+ 		static const XalanDOMChar	m_type[];
+ 
  	};
  

Index: XalanDOMStringPool.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanDOMStringPool.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanDOMStringPool.hpp	8 Apr 2004 07:56:11 -0000	1.1.1.1
--- XalanDOMStringPool.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANDOMSTRINGPOOL_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANDOMSTRINGPOOL_HEADER_GUARD_1357924680)
***************
*** 99,106 ****
--- 58,74 ----
  	explicit
  	XalanDOMStringPool(
+             MemoryManagerType&  theManager,
  			block_size_type		theBlockSize = eDefaultBlockSize,
  			bucket_count_type	theBucketCount = eDefaultBucketCount,
  			bucket_size_type	theBucketSize = eDefaultBucketSize);
  
+     static XalanDOMStringPool*
+     create(
+             MemoryManagerType&  theManager,
+ 			block_size_type		theBlockSize = eDefaultBlockSize,
+ 			bucket_count_type	theBucketCount = eDefaultBucketCount,
+ 			bucket_size_type	theBucketSize = eDefaultBucketSize);
+ 
+ 
  	virtual
  	~XalanDOMStringPool();
***************
*** 153,156 ****
--- 121,136 ----
  		return m_hashTable;
  	}
+ 
+     MemoryManagerType&
+     getMemoryManager()
+     {
+         return m_hashTable.getMemoryManager();
+     }
+ 
+     const MemoryManagerType&
+     getMemoryManager() const
+     {
+         return m_hashTable.getMemoryManager();
+     }
  
  private:

Index: XalanFStreamOutputStream.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanFStreamOutputStream.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanFStreamOutputStream.hpp	8 Apr 2004 07:56:12 -0000	1.1.1.1
--- XalanFStreamOutputStream.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANFSTREAMOUTPUTSTREAM_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANFSTREAMOUTPUTSTREAM_HEADER_GUARD_1357924680)
***************
*** 92,98 ****
  	 */
      XalanFStreamOutputStream(
! 			FILE*			theFileHandle,
! 			unsigned int	theBufferSize = eDefaultBufferSize);
  
      virtual
  	~XalanFStreamOutputStream();
--- 51,62 ----
  	 */
      XalanFStreamOutputStream(
! 			FILE*			    theFileHandle,
!             MemoryManagerType&   theManager,
! 			unsigned int	    theBufferSize = eDefaultBufferSize);
  
+     static XalanFStreamOutputStream*
+     create(	FILE*			    theFileHandle,
+             MemoryManagerType&   theManager,
+ 			unsigned int	    theBufferSize = eDefaultBufferSize);
      virtual
  	~XalanFStreamOutputStream();
***************
*** 108,115 ****
  		 * @param theErrorCode number of error encountered
  		 */
! 		XalanFStreamOutputStreamWriteException(int	theErrorCode);
  
  		virtual
  		~XalanFStreamOutputStreamWriteException();
  	};
  
--- 72,89 ----
  		 * @param theErrorCode number of error encountered
  		 */
! 		XalanFStreamOutputStreamWriteException(int	theErrorCode,
!                                                 XalanDOMString& theBuffer);
  
  		virtual
  		~XalanFStreamOutputStreamWriteException();
+ 
+ 		virtual const XalanDOMChar*
+ 		getType() const
+ 		{
+ 			return m_type;
+ 		}
+ 
+ 	private:
+ 		static const XalanDOMChar	m_type[];
  	};
  

Index: ExecutionContext.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/ExecutionContext.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** ExecutionContext.hpp	8 Apr 2004 07:56:08 -0000	1.1.1.1
--- ExecutionContext.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(EXECUTIONCONTEXT_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(EXECUTIONCONTEXT_HEADER_GUARD_1357924680)
***************
*** 63,67 ****
  #include <xalanc/PlatformSupport/PlatformSupportDefinitions.hpp>
  
! 
  
  XALAN_DECLARE_XERCES_CLASS(Locator)
--- 22,26 ----
  #include <xalanc/PlatformSupport/PlatformSupportDefinitions.hpp>
  
! #include <xalanc/Include/XalanMemoryManagement.hpp>
  
  XALAN_DECLARE_XERCES_CLASS(Locator)
***************
*** 89,93 ****
  
  	explicit
! 	ExecutionContext();
  
  	virtual
--- 48,52 ----
  
  	explicit
! 	ExecutionContext( MemoryManagerType& m_memoryManager);
  
  	virtual
***************
*** 108,124 ****
  
  	/**
- 	 * Report an error and throw an exception.
- 	 * 
- 	 * @param msg The text of the message.
- 	 * @param sourceNode The source node where the error occurred.  May be 0.
- 	 * @param locator A Locator to determine where the error occurred.  May be 0.
- 	 */
- 	virtual void
- 	error(
- 			const char*			msg,
- 			const XalanNode* 	sourceNode = 0,
- 			const LocatorType* 	locator = 0) const = 0;
- 
- 	/**
  	 * Report a warning
  	 * 
--- 67,70 ----
***************
*** 134,150 ****
  
  	/**
- 	 * Report a warning
- 	 * 
- 	 * @param msg The text of the message.
- 	 * @param sourceNode The source node where the warning occurred.  May be 0.
- 	 * @param locator A Locator to determine where the warning occurred.  May be 0.
- 	 */
- 	virtual void
- 	warn(
- 			const char*			msg,
- 			const XalanNode* 	sourceNode = 0,
- 			const LocatorType* 	locator = 0) const = 0;
- 
- 	/**
  	 * Output a message.
  	 * 
--- 80,83 ----
***************
*** 159,174 ****
  			const LocatorType* 		locator = 0) const = 0;
  
! 	/**
! 	 * Output a message.
! 	 * 
! 	 * @param msg The text of the message.
! 	 * @param sourceNode The source node where the message occurred.  May be 0.
! 	 * @param locator A Locator to determine where the message occurred.  May be 0.
! 	 */
! 	virtual void
! 	message(
! 			const char*			msg,
! 			const XalanNode* 	sourceNode = 0,
! 			const LocatorType* 	locator = 0) const = 0;
  };
  
--- 92,102 ----
  			const LocatorType* 		locator = 0) const = 0;
  
!     MemoryManagerType&
!     getMemoryManager()
!     {
!         return m_memoryManager;
!     }
! protected:
!     MemoryManagerType&              m_memoryManager;
  };
  

Index: XalanInMemoryMessageLoader.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanInMemoryMessageLoader.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanInMemoryMessageLoader.hpp	8 Apr 2004 07:56:12 -0000	1.1.1.1
--- XalanInMemoryMessageLoader.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(INMEMMSGLOADER_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(INMEMMSGLOADER_HEADER_GUARD_1357924680)
***************
*** 78,85 ****
  public:
  
! 	XalanInMemoryMessageLoader();
  
  	virtual
  	~XalanInMemoryMessageLoader();
  
  protected:
--- 37,45 ----
  public:
  
! 	XalanInMemoryMessageLoader(MemoryManagerType& theManager);
  
  	virtual
  	~XalanInMemoryMessageLoader();
+ 
  
  protected:

Index: XalanNullOutputStream.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanNullOutputStream.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanNullOutputStream.hpp	8 Apr 2004 07:56:12 -0000	1.1.1.1
--- XalanNullOutputStream.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANNULLOUTPUTSTREAM_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANNULLOUTPUTSTREAM_HEADER_GUARD_1357924680)
***************
*** 79,83 ****
  
  	explicit
!     XalanNullOutputStream();
  
      virtual
--- 38,42 ----
  
  	explicit
!     XalanNullOutputStream(MemoryManagerType&      theManager);
  
      virtual

Index: FormatterListener.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/FormatterListener.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** FormatterListener.hpp	8 Apr 2004 07:56:08 -0000	1.1.1.1
--- FormatterListener.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(FORMATTERLISTENER_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(FORMATTERLISTENER_HEADER_GUARD_1357924680)
***************
*** 93,96 ****
--- 52,57 ----
  typedef XERCES_CPP_NAMESPACE_QUALIFIER AttributeList	AttributeListType;
  
+ XALAN_USING_XERCES(Locator)
+ XALAN_USING_XERCES(AttributeList)
  
  
***************
*** 118,121 ****
--- 79,88 ----
  	};
  
+     enum eXMLVersion
+     {
+         XML_VERSION_1_0 = 0,
+         XML_VERSION_1_1 = 1
+     };
+ 
  	FormatterListener(eFormat	theFormat);
  
***************
*** 123,127 ****
  	~FormatterListener();
  
! 
  	eFormat
  	getOutputFormat() const
--- 90,98 ----
  	~FormatterListener();
  
!     /**
! 	 * Get the output format for the instance.
! 	 *
! 	 * @return An enum indicating the output format.
! 	 */
  	eFormat
  	getOutputFormat() const
***************
*** 130,134 ****
  	}
  
! 	/**
  	 * Get the PrefixResolver for the FormatterListener
  	 *
--- 101,128 ----
  	}
  
!     /**
! 	 * Get the version of XML the FormatterListener is
!      * generating.
! 	 *
! 	 * @return An enum indication the XML version.
! 	 */
!     eXMLVersion
!     getXMLVersion() const
!     {
!         return m_XMLVersion;
!     }
! 
!     /**
! 	 * Determine if the version of XML output is 1.1.
! 	 *
! 	 * @return true if the output version is 1.1, false if not.
! 	 */
!     bool
!     isXML1_1Version() const
!     {
!         return ( XML_VERSION_1_1 == m_XMLVersion );
!     }
! 
!     /**
  	 * Get the PrefixResolver for the FormatterListener
  	 *
***************
*** 238,242 ****
  
  	virtual void
! 	setDocumentLocator(const LocatorType* const		locator) = 0;
  
  	virtual void
--- 232,236 ----
  
  	virtual void
! 	setDocumentLocator(const Locator* const     locator) = 0;
  
  	virtual void
***************
*** 246,250 ****
  	startElement(
  			const	XMLCh* const	name,
! 			AttributeListType&		attrs) = 0;
  
  	virtual Writer*
--- 240,244 ----
  	startElement(
  			const	XMLCh* const	name,
! 			AttributeList&		    attrs) = 0;
  
  	virtual Writer*
***************
*** 281,284 ****
--- 275,279 ----
  #endif
  
+ 
  protected:
  
***************
*** 288,291 ****
--- 283,297 ----
  	static const XalanDOMString		s_emptyString;
  
+ 	/**
+ 	 * Set the output version during serializing.
+ 	 *
+ 	 * @param theVersion XML version of the output
+ 	 */
+     void
+     setXMLVersion(eXMLVersion   theVersion)
+     {
+         m_XMLVersion = theVersion;
+     }
+ 
  private:
  
***************
*** 301,304 ****
--- 307,312 ----
  	// Data membmers...
  	const eFormat	m_outputFormat;
+ 
+     eXMLVersion     m_XMLVersion;
  };
  

--- NEW FILE: LocalMsgIndex.hpp ---
/*
* Copyright 1999-2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/


// ----------------------------------------------------------------
//  This file was generated from the XalanC error message source.
//  so do not edit this file directly!!
// ----------------------------------------------------------------




#if !defined(XALAN_MSG_LOADER_INDEX_GUARD_1357924680) 
#define XALAN_MSG_LOADER_INDEX_GUARD_1357924680 



XALAN_CPP_NAMESPACE_BEGIN


class XalanMessages{ 
public : 
    enum Codes 
	{ 
      SystemErrorCode_1Param		 = 0 
     ,UnsupportedEncoding_1Param		 = 1 
     ,UnknownErrorOccurredWhileTranscodingToEncoding_1Param		 = 2 
     ,AnErrorOccurredWhileTranscoding		 = 3 
     ,MessageErrorCodeWas_1Param		 = 4 
     ,FunctionRequiresNonNullContextNode_1Param		 = 5 
     ,FunctionTakesTwoArguments_1Param		 = 6 
     ,FunctionTakesZeroOrOneArg_1Param		 = 7 
     ,FunctionTakesTwoOrThreeArguments_1Param		 = 8 
     ,FunctionTakesThreeArguments_1Param		 = 9 
     ,CannotConvertTypetoType_2Param		 = 10 
     ,ExpressionDoesNotEvaluateToNodeSet		 = 11 
     ,UnknownAxis_1Param		 = 12 
     ,CannotEvaluateXPathExpressionAsMatchPattern		 = 13 
     ,ArgLengthNodeTestIsIncorrect_1Param		 = 14 
     ,InvalidOpcodeWasDetected_1Param		 = 15 
     ,InvalidNumberOfArgsWasDetected_3Param		 = 16 
     ,InvalidNumberOfArgsWasSupplied_2Param		 = 17 
     ,RemainingTokens		 = 18 
     ,FunctionIsNotImplemented_1Param		 = 19 
     ,FunctionNumberIsNotAvailable_1Param		 = 20 
     ,FunctionIsNotSupported_1Param		 = 21 
     ,ExtraIllegalTokens		 = 22 
     ,UnterminatedStringLiteral		 = 23 
     ,EmptyExpression		 = 24 
     ,NotValidNCName_1Param		 = 25 
     ,PrefixIsBoundToZeroLengthURI_1Param		 = 26 
     ,PrefixIsNotDeclared_1Param		 = 27 
     ,NotFoundWhatExpected_2Param		 = 28 
     ,LiteralArgumentIsRequired		 = 29 
     ,NoPrecedingArgument		 = 30 
     ,NoFollowingArgument		 = 31 
     ,CouldNotFindFunction_1Param		 = 32 
     ,FunctionDoesNotAcceptAnyArguments_1Param		 = 33 
     ,IllegalSyntaxOfPredicatesSelf		 = 34 
     ,IllegalSyntaxOfPredicatesParent		 = 35 
     ,UnexpectedTokenFound_1Param		 = 36 
     ,ExpectedAxis		 = 37 
     ,IllegalAxisName_1Param		 = 38 
     ,UnknownNodeType_1Param		 = 39 
     ,ExpectedNodeTest		 = 40 
     ,OnlyChildAndAttributeAxesAreAllowed		 = 41 
     ,VariableReferenceNotAllowed		 = 42 
     ,KeyFunctionNotAllowed		 = 43 
     ,FunctionTakes2ArgsAtLeast_1Param		 = 44 
     ,PatternIs_1Param		 = 45 
     ,ExpressionIs_1Param		 = 46 
     ,SpecifiedFuncIsNotAvailable_1Param		 = 47 
     ,AttributesCannotBeAdded		 = 48 
     ,IllegalElementName_1Param		 = 49 
     ,XalanHandleExtensions		 = 50 
     ,CannotResolveURIInDocumentFunction		 = 51 
     ,UnknownXSLElement_1Param		 = 52 
     ,NameIs_1Param		 = 53 
     ,WrongAttemptingToAddAttrinbute		 = 54 
     ,CantCreateItemInResultTree		 = 55 
     ,LeftBraceCannotAppearWithinExpression		 = 56 
     ,AttributeValueTemplateHasMissing		 = 57 
     ,NoCurrentTemplate		 = 58 
     ,AttributeNameNotValidQName_1Param		 = 59 
     ,IsNotValidQName_1Param		 = 60 
     ,IsNotValidNCName_1Param		 = 61 
     ,AttributeValueNotValidQName_2Param		 = 62 
     ,ElementMustHaveAttribute_2Param		 = 63 
     ,CannotFindNamedTemplate		 = 64 
     ,ElementHasIllegalAttributeValue_3Param		 = 65 
     ,DuplicateDefinitions_1Param		 = 66 
     ,MustBeOrPrefixedName		 = 67 
     ,UnknownDataType		 = 68 
     ,GroupingSeparatorValueMustBeOneCharacterLength		 = 69 
     ,NumberingFormatNotSupported_1Param		 = 70 
     ,PINameInvalid_1Param		 = 71 
     ,NameMustBeValidNCName		 = 72 
     ,ElementRequiresEitherNameOrMatchAttribute_1Param		 = 73 
     ,ElementHasIllegalAttribute_2Param		 = 74 
     ,ElementIsNotAllowedAtThisPosition_1Param		 = 75 
     ,ElemVariableInstanceAddedToWrongStylesheet		 = 76 
     ,ElemVariableInstanceIsAlreadyParented		 = 77 
     ,SecondArgumentToFunctionMustBeNode_set_1Param		 = 78 
     ,FunctionAcceptsOneTwoArguments_1Param		 = 79 
     ,Decimal_formatElementNotFound_1Param		 = 80 
     ,PropertyIsNotValidQName_1Param		 = 81 
     ,InvalidArgumentType_1Param		 = 82 
     ,FunctionAcceptsOneArgument_1Param		 = 83 
     ,Error_1Param		 = 84 
     ,Warning_1Param		 = 85 
     ,Message_1Param		 = 86 
     ,StyleTreeNode_1Param		 = 87 
     ,SourceTreeNode_1Param		 = 88 
     ,LineNumberColumnNumber_2Params		 = 89 
     ,HasInvalidAttribute_2Param		 = 90 
     ,AttributeMustBe_2Params		 = 91 
     ,StylesheetHasWrapperlessTemplate		 = 92 
     ,StylesheetHasDuplicateNamedTemplate		 = 93 
     ,UnknownXSLTToken_1Param		 = 94 
     ,InfiniteRecursion_1Param		 = 95 
     ,VariableIsNotDefined_1Param		 = 96 
     ,IsNotAllowedInThisPosition_1Param		 = 97 
     ,NotParentedBy_2Param		 = 98 
     ,IsNotAllowedInsideTemplate_1Param		 = 99 
     ,StylesheetAttribDidNotSpecifyVersionAttrib		 = 100 
     ,VariableHasBeenDeclared		 = 101 
     ,VariableHasBeenDeclaredInThisTemplate		 = 102 
     ,ImportCanOnlyOccur		 = 103 
     ,ImportingItself_1Param		 = 104 
     ,IncludingItself_1Param		 = 105 
     ,CharIsNotAllowedInStylesheet		 = 106 
     ,Transform		 = 107 
     ,NoValidResultTarget		 = 108 
     ,OutputHasAnUnknownMethod_1Param		 = 109 
     ,UnsupportedXalanSpecificAttribute_1Param		 = 110 
     ,HasIllegalAttribute_2Param		 = 111 
     ,TextAndColumnNumber_2Param		 = 112 
     ,MatchIs_1Param		 = 113 
     ,Warning2		 = 114 
     ,AtFileLineColumn_3Param		 = 115 
     ,FatalError		 = 116 
     ,FormatNumberFailed		 = 117 
     ,UnknownMatchOpCode_1Param		 = 118 
     ,AtUnknownFileLineColumn_2Param		 = 119 
     ,EmptyNodeList		 = 120 
     ,DefaultRootRule_1Param		 = 121 
     ,DefaultRootRule		 = 122 
     ,InvalidStackContext		 = 123 
     ,FailedToProcessStylesheet		 = 124 
     ,TotalTime		 = 125 
     ,NoStylesheet		 = 126 
     ,CompilingDOMStylesheetReqDocument		 = 127 
     ,CantIdentifyFragment_1Param		 = 128 
     ,CantFindFragment_1Param		 = 129 
     ,NodePointedByFragment_1Param		 = 130 
     ,OnlyTextNodesCanBeCopied		 = 131 
     ,UnmatchedWasFound		 = 132 
     ,CantLoadReqDocument_1Param		 = 133 
     ,ElementRequiresAttribute_2Param		 = 134 
     ,InputXSL		 = 135 
     ,ConflictsFound		 = 136 
     ,CircularVariableDefWasDetected		 = 137 
     ,FunctionAcceptsTwoArguments_1Param		 = 138 
     ,NoPrefixResolverAvailable		 = 139 
     ,InvalidArgumentTypeFunction_1Param		 = 140 
     ,ErrorCopyingNamespaceNodeForDefault		 = 141 
     ,ErrorCopyingNamespaceNode_1Param		 = 142 
     ,InvalidHighSurrogate_1Param		 = 143 
     ,InvalidSurrogatePair_2Param		 = 144 
     ,EXSLTFunctionAcceptsOneArgument_1Param		 = 145 
     ,EXSLTFunctionAcceptsNoArgument_1Param		 = 146 
     ,EXSLTFunctionAcceptsTwoArguments_1Param		 = 147 
     ,EXSLTFunctionAcceptsTwoOrThreeArguments_1Param		 = 148 
     ,EXSLTFunctionAccepts1Or2Argument_1Param		 = 149 
     ,XalanDOMExceptionCaught_1Param		 = 150 
     ,InvalidCompiledStylesheetProvided		 = 151 
     ,InvalidParsedSourceProvided		 = 152 
     ,NumberBytesWrittenDoesNotEqual		 = 153 
     ,XalanExeHelpMenuXalanVersion_1Param		 = 154 
     ,XalanExeHelpMenuXercesVersion_1Param		 = 155 
     ,XalanExeHelpMenu		 = 156 
     ,XalanExeHelpMenu0		 = 157 
     ,XalanExeHelpMenu1		 = 158 
     ,XalanExeHelpMenu2		 = 159 
     ,XalanExeHelpMenu3		 = 160 
     ,XalanExeHelpMenu4		 = 161 
     ,XalanExeHelpMenu5		 = 162 
     ,XalanExeHelpMenu6		 = 163 
     ,XalanExeHelpMenu7		 = 164 
     ,XalanExeHelpMenu8		 = 165 
     ,XalanExeHelpMenu9		 = 166 
     ,XalanExeHelpMenu10		 = 167 
     ,XalanExeHelpMenu11		 = 168 
     ,XalanExeHelpMenu12		 = 169 
     ,ElemOrLTIsNotAllowed_1Param		 = 170 
     ,ElemIsNotAllowed_1Param		 = 171 
     ,ErrorWritingFile_1Param		 = 172 
     ,ErrorOpeningFile_1Param		 = 173 
     ,Error2		 = 174 
     ,ErrorWritingToStdStream		 = 175 
     ,UnrepresentableCharacter_2Param		 = 176 
     ,InvalidScalar_1Param		 = 177 
     ,PrefixOfLengthZeroDetected		 = 178 
     ,SortMustBeAscendOrDescend		 = 179 
     ,SortDataTypeMustBe		 = 180 
     ,SortHasUnknownDataType		 = 181 
     ,SortCaseOrderMustBe		 = 182 
     ,LegalValuesForLetterValue		 = 183 
     ,InvalidURI		 = 184 
     ,ExpectedToken		 = 185 
     ,ForbiddenXMLCharacter_2Param		 = 186 
	};


};


XALAN_CPP_NAMESPACE_END 


#endif //XALAN_MSG_LOADER_INDEX_GUARD_1357924680  



--- NEW FILE: XalanMemoryManagerDefault.hpp ---
/*
 * Copyright 1999-2004 The Apache Software Foundation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
#if !defined(XALANMEMORYMANAGERDEFAULT_HEADER_GUARD_1357924680)
#define XALANMEMORYMANAGERDEFAULT_HEADER_GUARD_1357924680



// Base include file.  Must be first.
#include <xalanc/PlatformSupport/PlatformSupportDefinitions.hpp>




#include <xercesc/framework/MemoryManager.hpp>




XALAN_CPP_NAMESPACE_BEGIN



XALAN_USING_XERCES(MemoryManager)



class XALAN_PLATFORMSUPPORT_EXPORT XalanMemoryManagerDefault : public MemoryManager
{
public:

    XalanMemoryManagerDefault();

    virtual
    ~XalanMemoryManagerDefault();

    virtual void*
    allocate(size_t     size);

    virtual void
    deallocate(void*    pointer);

private:

    // These are not implemented.
    XalanMemoryManagerDefault(const XalanMemoryManagerDefault&);

    XalanMemoryManagerDefault&
    operator=(const XalanMemoryManagerDefault&);
};



XALAN_CPP_NAMESPACE_END



#endif  // XALANMEMORYMANAGERDEFAULT_HEADER_GUARD_1357924680

Index: DoubleSupport.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/DoubleSupport.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** DoubleSupport.hpp	8 Apr 2004 07:56:08 -0000	1.1.1.1
--- DoubleSupport.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
[...1216 lines suppressed...]
!     static NumberUnion          s_NaN;
! #else
!     static const NumberUnion    s_NaN;
! #endif
! 
!     static const NumberUnion    s_positiveInfinity;
!     static const NumberUnion    s_negativeInfinity;
!     static const NumberUnion    s_positiveZero;
!     static const NumberUnion    s_negativeZero;
  };
  
***************
*** 644,646 ****
  
  
! #endif	// DOUBLESUPPORT_HEADER_GUARD_1357924680
--- 642,644 ----
  
  
! #endif  // DOUBLESUPPORT_HEADER_GUARD_1357924680

Index: URISupport.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/URISupport.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** URISupport.hpp	8 Apr 2004 07:56:09 -0000	1.1.1.1
--- URISupport.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(URISUPPORT_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(URISUPPORT_HEADER_GUARD_1357924680)
***************
*** 102,108 ****
  	 */
  	static URLAutoPtrType
! 	getURLFromString(const XalanDOMString&	urlString)
  	{
! 		return getURLFromString(urlString.c_str());
  	}
  
--- 61,68 ----
  	 */
  	static URLAutoPtrType
! 	getURLFromString(const XalanDOMString&	urlString,
!                         MemoryManagerType&     theManager)
  	{
! 		return getURLFromString(urlString.c_str(), theManager);
  	}
  
***************
*** 116,122 ****
  	getURLFromString(
  			const XalanDOMString&	urlString,
! 			XMLURLType&				url)
  	{
! 		getURLFromString(urlString.c_str(), url);
  	}
  
--- 76,83 ----
  	getURLFromString(
  			const XalanDOMString&	urlString,
! 			XMLURLType&				url,
!             MemoryManagerType&      theManager)
  	{
! 		getURLFromString(urlString.c_str(), url, theManager);
  	}
  
***************
*** 128,132 ****
  	 */
  	static URLAutoPtrType
! 	getURLFromString(const XalanDOMChar*	urlString);
  
  	/**
--- 89,94 ----
  	 */
  	static URLAutoPtrType
! 	getURLFromString(const XalanDOMChar*	    urlString,
!                         MemoryManagerType&     theManager);
  
  	/**
***************
*** 139,145 ****
  	getURLFromString(
  			const XalanDOMChar*		urlString,
! 			XMLURLType&				url)
  	{
! 		url.setURL(getURLStringFromString(urlString).c_str());
  	}
  
--- 101,112 ----
  	getURLFromString(
  			const XalanDOMChar*		urlString,
! 			XMLURLType&				url,
!             MemoryManagerType&      theManager)
  	{
!         XalanDOMString buffer(theManager);
! 
!         getURLStringFromString(urlString, buffer);
! 
! 		url.setURL(buffer.c_str());
  	}
  
***************
*** 154,160 ****
  	getURLFromString(
  			const XalanDOMString&	urlString,
! 			const XalanDOMString&	base)
  	{
! 		return getURLFromString(getURLStringFromString(urlString, base));
  	}
  
--- 121,132 ----
  	getURLFromString(
  			const XalanDOMString&	urlString,
! 			const XalanDOMString&	base,
!             MemoryManagerType&  theManager)
  	{
!         XalanDOMString theResult(theManager);
! 
!         getURLStringFromString(urlString, base, theResult);
! 
! 		return getURLFromString(theResult, theManager);
  	}
  
***************
*** 171,189 ****
  			const XalanDOMChar*		base);
  
- 	/**
- 	 * Determine the fully qualified URI for a string.
- 	 *
- 	 * @param urlString string to qualify
- 	 * @return string to fully qualified URI
- 	 */
- 	static XalanDOMString
- 	getURLStringFromString(const XalanDOMString&	urlString)
- 	{
- 		XalanDOMString	result;
- 
- 		getURLStringFromString(urlString.c_str(), urlString.length(), result);
- 
- 		return result;
- 	}
  
  	/**
--- 143,146 ----
***************
*** 201,219 ****
  	}
  
- 	/**
- 	 * Determine the fully qualified URI for a string.
- 	 *
- 	 * @param urlString string to qualify
- 	 * @return string to fully qualified URI
- 	 */
- 	static XalanDOMString
- 	getURLStringFromString(const XalanDOMChar*	urlString)
- 	{
- 		XalanDOMString	theNormalizedURI;
- 
- 		getURLStringFromString(urlString, theNormalizedURI);
- 
- 		return theNormalizedURI;
- 	}
  
  	/**
--- 158,161 ----
***************
*** 254,281 ****
  	 * @param urlString string to qualify
  	 * @param base base location for URI
- 	 * @return string to fully qualified URI
- 	 */
- 	static XalanDOMString
- 	getURLStringFromString(
- 			const XalanDOMString&	urlString,
- 			const XalanDOMString&	base)
- 	{
- 		XalanDOMString	theNormalizedURI;
- 
- 		getURLStringFromString(
- 			urlString.c_str(),
- 			urlString.length(),
- 			base.c_str(),
- 			base.length(),
- 			theNormalizedURI);
- 
- 		return theNormalizedURI;
- 	}
- 
- 	/**
- 	 * Determine the fully qualified URI for a string.
- 	 *
- 	 * @param urlString string to qualify
- 	 * @param base base location for URI
  	 * @param theNormalizedURI fully qualified URI
  	 */
--- 196,199 ----
***************
*** 289,310 ****
  	}
  
- 	/**
- 	 * Determine the fully qualified URI for a string.
- 	 *
- 	 * @param urlString string to qualify
- 	 * @param base base location for URI
- 	 * @return string to fully qualified URI
- 	 */
- 	static XalanDOMString
- 	getURLStringFromString(
- 			const XalanDOMChar*		urlString,
- 			const XalanDOMChar*		base)
- 	{
- 		XalanDOMString	theNormalizedURI;
- 
- 		getURLStringFromString(urlString, base, theNormalizedURI);
- 
- 		return theNormalizedURI;
- 	}
  
  	/**
--- 207,210 ----
***************
*** 363,368 ****
  	 * @return a copy of the normalized URI
  	 */
- 	static const XalanDOMString
- 	NormalizeURIText(const XalanDOMString&	uriString);
  
  
--- 263,266 ----
***************
*** 376,383 ****
  		 * @param theMessage the error message
  		 */
! 		InvalidURIException(const XalanDOMString&	theMessage);
  
  		virtual
  		~InvalidURIException();
  	};
  
--- 274,291 ----
  		 * @param theMessage the error message
  		 */
! 		InvalidURIException(const XalanDOMString&	theMessage,
!                             MemoryManagerType&      theManager);
  
  		virtual
  		~InvalidURIException();
+ 
+ 		virtual const XalanDOMChar*
+ 		getType() const
+ 		{
+ 			return m_type;
+ 		}
+ 
+ 	private:
+ 		static const XalanDOMChar	m_type[];
  	};
  

Index: XalanUnicode.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanUnicode.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanUnicode.hpp	8 Apr 2004 07:56:14 -0000	1.1.1.1
--- XalanUnicode.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANUNICODE_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANUNICODE_HEADER_GUARD_1357924680)
***************
*** 65,72 ****
  
  
- #include <xalanc/XalanDOM/XalanDOMString.hpp>
- 
- 
- 
  XALAN_CPP_NAMESPACE_BEGIN
  
--- 24,27 ----
***************
*** 213,216 ****
--- 168,175 ----
  		charRightCurlyBracket	= 0x7D,
  
+         charNEL                 = 0x85,
+ 
+         charLSEP                = 0x2028,
+ 
  		charPerMilleSign		= 0x2030
  	};
***************
*** 347,350 ****
--- 306,313 ----
  
  	static const XalanDOMChar	charRightCurlyBracket	= 0x7D;
+ 
+ 	static const XalanDOMChar	charNEL                 = 0x85;
+ 
+ 	static const XalanDOMChar	charLSEP                = 0x2028;
  
  	static const XalanDOMChar	charPerMilleSign		= 0x2030;

Index: DOMStringHelper.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/DOMStringHelper.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** DOMStringHelper.hpp	8 Apr 2004 07:56:07 -0000	1.1.1.1
--- DOMStringHelper.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
[...3486 lines suppressed...]
  
--- 2729,2737 ----
   */
  inline bool
! isXMLWhitespace(const XalanDOMChar*     theString)
  {
!     assert(theString != 0);
  
!     return isXMLWhitespace(theString, 0, length(theString));
  }
  
***************
*** 2875,2877 ****
  
  
! #endif	// DOMSTRINGHELPER_HEADER_GUARD_1357924680
--- 2742,2744 ----
  
  
! #endif  // DOMSTRINGHELPER_HEADER_GUARD_1357924680

Index: DOMStringPrintWriter.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/DOMStringPrintWriter.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** DOMStringPrintWriter.hpp	8 Apr 2004 07:56:07 -0000	1.1.1.1
--- DOMStringPrintWriter.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(DOMSTRING_PRINTWRITER_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(DOMSTRING_PRINTWRITER_HEADER_GUARD_1357924680)
***************
*** 89,95 ****
  	getString() const
  	{
! 		return m_outputString;
  	}
  
  
  	// Output functions inherited from PrintWriter...
--- 48,59 ----
  	getString() const
  	{
! 		return *m_outputString;
  	}
  
+ 	void
+ 	setString(XalanDOMString& newString) 
+ 	{
+ 		m_outputString = &newString;
+ 	}
  
  	// Output functions inherited from PrintWriter...
***************
*** 190,194 ****
  protected:
  
! 	XalanDOMString&		m_outputString;
  
  private:
--- 154,158 ----
  protected:
  
! 	XalanDOMString*		m_outputString;
  
  private:

Index: XSLException.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XSLException.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XSLException.hpp	8 Apr 2004 07:56:23 -0000	1.1.1.1
--- XSLException.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XSLEXCEPTION_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XSLEXCEPTION_HEADER_GUARD_1357924680)
***************
*** 98,103 ****
  			int						theLineNumber,
  			int						theColumnNumber,
! 			const XalanDOMString&	theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XSLException")));
! 
  	/**
  	 * Constructor
--- 57,61 ----
  			int						theLineNumber,
  			int						theColumnNumber,
!             MemoryManagerType&      theManager);
  	/**
  	 * Constructor
***************
*** 110,115 ****
  			const LocatorType&		theLocator,
  			const XalanDOMString&	theMessage,
! 			const XalanDOMString&	theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XSLException")));
! 
  	/**
  	 * Constructor
--- 68,72 ----
  			const LocatorType&		theLocator,
  			const XalanDOMString&	theMessage,
!             MemoryManagerType&      theManager);
  	/**
  	 * Constructor
***************
*** 120,124 ****
  	XSLException(
  			const XalanDOMString&	theMessage,
! 			const XalanDOMString&	theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XSLException")));
  
  	virtual
--- 77,84 ----
  	XSLException(
  			const XalanDOMString&	theMessage,
!             MemoryManagerType&      theManager);
! 
! 
! 	XSLException(const XSLException&	other);
  
  	virtual
***************
*** 130,138 ****
  	 * @return type of exception
  	 */
! 	const XalanDOMString&
! 	getType() const
! 	{
! 		return m_type;
! 	}
  
  	/**
--- 90,95 ----
  	 * @return type of exception
  	 */
! 	virtual const XalanDOMChar*
! 	getType() const = 0;
  
  	/**
***************
*** 180,185 ****
  	}
  
! 	XalanDOMString
! 	defaultFormat() const;
  
  	void
--- 137,148 ----
  	}
  
! 
!     MemoryManagerType& 
!     getMemoryManager()const
!     {
! //#pragma message ("Breaks the const-correctness !")
!         XalanDOMString* pnt = const_cast<XalanDOMString*>(&m_message);
!         return pnt->getMemoryManager();
!     }
  
  	void
***************
*** 192,196 ****
  			size_type				theLineNumber,
  			size_type				theColumnNumber,
! 			const XalanDOMString&	theType,
  			XalanDOMString&			theBuffer)
  	{
--- 155,159 ----
  			size_type				theLineNumber,
  			size_type				theColumnNumber,
! 			const XalanDOMChar*		theType,
  			XalanDOMString&			theBuffer)
  	{
***************
*** 202,207 ****
  			theLineNumber,
  			theColumnNumber,
! 			theType.c_str(),
! 			theType.size(),
  			theBuffer);
  	}
--- 165,170 ----
  			theLineNumber,
  			theColumnNumber,
! 			theType,
! 			XalanDOMString::length(theType),
  			theBuffer);
  	}
***************
*** 250,254 ****
  	const size_type			m_columnNumber;
  
! 	const XalanDOMString	m_type;
  };
  
--- 213,217 ----
  	const size_type			m_columnNumber;
  
! 
  };
  

Index: XalanNamespace.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanNamespace.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanNamespace.hpp	8 Apr 2004 07:56:12 -0000	1.1.1.1
--- XalanNamespace.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANNAMESPACE_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANNAMESPACE_HEADER_GUARD_1357924680)
***************
*** 78,84 ****
  
  	explicit
! 	XalanNamespace() :
! 		m_prefix(),
! 		m_uri()
  	{
  	}
--- 37,43 ----
  
  	explicit
! 	XalanNamespace(MemoryManagerType&      theManager) :
! 		m_prefix(theManager),
! 		m_uri(theManager)
  	{
  	}
***************
*** 93,99 ****
  	XalanNamespace(
  			const XalanDOMString&	thePrefix,
! 			const XalanDOMString&	theURI) :
! 		m_prefix(thePrefix),
! 		m_uri(theURI)
  	{
  	}
--- 52,67 ----
  	XalanNamespace(
  			const XalanDOMString&	thePrefix,
! 			const XalanDOMString&	theURI,
!             MemoryManagerType&      theManager) :
! 		m_prefix(thePrefix,theManager),
! 		m_uri(theURI, theManager)
! 	{
! 	}
! 
! 	XalanNamespace(
!             const XalanNamespace&   other,
!             MemoryManagerType&      theManager) :
! 		m_prefix(other.m_prefix,theManager),
! 		m_uri(other.m_uri, theManager)
  	{
  	}
***************
*** 203,206 ****
--- 171,177 ----
  
  private:
+     //Not implemented
+     XalanNamespace();
+     XalanNamespace(const XalanNamespace&);
  
  	XalanDOMString	m_prefix;
***************
*** 209,213 ****
  };
  
! 
  
  XALAN_CPP_NAMESPACE_END
--- 180,184 ----
  };
  
! XALAN_USES_MEMORY_MANAGER(XalanNamespace)
  
  XALAN_CPP_NAMESPACE_END
***************
*** 215,217 ****
  
  
! #endif	// XALANNAMESPACE_HEADER_GUARD_1357924680
--- 186,188 ----
  
  
! #endif	// ALANNAMESPACE_HEADER_GUARD_1357924680

Index: AttributeListImpl.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/AttributeListImpl.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** AttributeListImpl.hpp	8 Apr 2004 07:56:06 -0000	1.1.1.1
--- AttributeListImpl.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(ATTRIBUTELISTIMPL_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(ATTRIBUTELISTIMPL_HEADER_GUARD_1357924680)
***************
*** 65,69 ****
  
  
! #include <vector>
  
  
--- 24,28 ----
  
  
! #include <xalanc/Include/XalanVector.hpp>
  
  
***************
*** 91,102 ****
  
  	explicit
! 	AttributeListImpl();
  
  	virtual
  	~AttributeListImpl();
  
!     AttributeListImpl(const AttributeListImpl&	theSource);
  
!     AttributeListImpl(const AttributeListType&	theSource);
  
      AttributeListImpl&
--- 50,63 ----
  
  	explicit
! 	AttributeListImpl(MemoryManagerType&      theManager);
  
  	virtual
  	~AttributeListImpl();
  
!     AttributeListImpl(const AttributeListImpl&	theSource,
!                         MemoryManagerType&      theManager);
  
!     AttributeListImpl(const AttributeListType&	theSource,
!                         MemoryManagerType&      theManager);
  
      AttributeListImpl&
***************
*** 106,109 ****
--- 67,76 ----
  	operator=(const AttributeListType&	theRHS);
  
+     MemoryManagerType&
+     getMemoryManager()
+     {
+         return m_AttributeVector.getMemoryManager();
+     }
+ 
  	// These are inherited from AttributeList
      virtual unsigned int
***************
*** 127,131 ****
  	virtual const XMLCh*
  	getValue(const char* const name) const;
- 
  	// The mutators are new to this class.
  
--- 94,97 ----
***************
*** 181,191 ****
  	}
  
- #if defined(XALAN_NO_STD_NAMESPACE)
- 	// This vector will hold the entries.
- 	typedef vector<AttributeVectorEntry*>			AttributeVectorType;
- #else
  	// This vector will hold the entries.
! 	typedef std::vector<AttributeVectorEntry*>		AttributeVectorType;
! #endif
  
  #if defined(XALAN_NEEDS_EXPLICIT_TEMPLATE_INSTANTIATION)
--- 147,152 ----
  	}
  
  	// This vector will hold the entries.
! 	typedef XalanVector<AttributeVectorEntry*>			AttributeVectorType;
  
  #if defined(XALAN_NEEDS_EXPLICIT_TEMPLATE_INSTANTIATION)

Index: Resettable.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/Resettable.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** Resettable.hpp	8 Apr 2004 07:56:09 -0000	1.1.1.1
--- Resettable.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(RESETTABLE_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(RESETTABLE_HEADER_GUARD_1357924680)

Index: XalanToXercesTranscoderWrapper.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanToXercesTranscoderWrapper.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanToXercesTranscoderWrapper.hpp	8 Apr 2004 07:56:14 -0000	1.1.1.1
--- XalanToXercesTranscoderWrapper.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANTOXERCESTRANSCODERWRAPPER_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANTOXERCESTRANSCODERWRAPPER_HEADER_GUARD_1357924680)
***************
*** 85,90 ****
  
  	explicit
! 	XalanToXercesTranscoderWrapper(XMLTranscoderType&	theTranscoder);
!    
  	virtual
  	~XalanToXercesTranscoderWrapper();
--- 44,52 ----
  
  	explicit
! 	XalanToXercesTranscoderWrapper(MemoryManagerType& theManager, XMLTranscoderType&	theTranscoder);
! 
!     static XalanToXercesTranscoderWrapper*
!     create(MemoryManagerType& theManager, XMLTranscoderType&	theTranscoder);
! 
  	virtual
  	~XalanToXercesTranscoderWrapper();
***************
*** 93,114 ****
  	transcode(
  			const XalanDOMChar*		theSourceData,
! 			size_t					theSourceCount,
  			XalanXMLByte*			theTarget,
! 			size_t					theTargetSize,
! 			size_t&					theSourceCharsTranscoded,
! 			size_t&					theTargetBytesUsed);
  
  	virtual eCode
  	transcode(
  			const XalanXMLByte*		theSourceData,
! 			size_t					theSourceCount,
  			XalanDOMChar*			theTarget,
! 			size_t					theTargetSize,
! 			size_t&					theSourceCharsTranscoded,
! 			size_t&					theTargetBytesUsed,
  			unsigned char*			theCharSizes);
  
  	virtual bool
! 	canTranscodeTo(unsigned int		theChar) const;
  
  private:
--- 55,76 ----
  	transcode(
  			const XalanDOMChar*		theSourceData,
! 			size_type				theSourceCount,
  			XalanXMLByte*			theTarget,
! 			size_type				theTargetSize,
! 			size_type&				theSourceCharsTranscoded,
! 			size_type&				theTargetBytesUsed);
  
  	virtual eCode
  	transcode(
  			const XalanXMLByte*		theSourceData,
! 			size_type				theSourceCount,
  			XalanDOMChar*			theTarget,
! 			size_type				theTargetSize,
! 			size_type&				theSourceCharsTranscoded,
! 			size_type&				theTargetBytesUsed,
  			unsigned char*			theCharSizes);
  
  	virtual bool
! 	canTranscodeTo(UnicodeCharType	theChar) const;
  
  private:
***************
*** 120,125 ****
  	operator=(const XalanToXercesTranscoderWrapper&);
  
- 	// A handy typedef...
- 	typedef unsigned int		XercesSizeType;
  
  	// Data members...
--- 82,85 ----

Index: XalanStdOutputStream.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanStdOutputStream.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanStdOutputStream.hpp	8 Apr 2004 07:56:14 -0000	1.1.1.1
--- XalanStdOutputStream.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANSTDOUTPUTSTREAM_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANSTDOUTPUTSTREAM_HEADER_GUARD_1357924680)
***************
*** 110,114 ****
  	 * @param theOutputStream output stream to use
  	 */
!     XalanStdOutputStream(StreamType&	theOutputStream);
  
      virtual
--- 69,78 ----
  	 * @param theOutputStream output stream to use
  	 */
!     XalanStdOutputStream(StreamType&	theOutputStream,
!                          MemoryManagerType&  theManager XALAN_DEFAULT_MEMMGR);
! 
!     static XalanStdOutputStream*
!     create( StreamType&	theOutputStream,
!             MemoryManagerType&  theManager);
  
      virtual
***************
*** 128,135 ****
  	public:
  
! 		XalanStdOutputStreamWriteException(int	theErrorCode);
  
  		virtual
  		~XalanStdOutputStreamWriteException();
  	};
  
--- 92,111 ----
  	public:
  
! 		XalanStdOutputStreamWriteException(int	theErrorCode,
!                                             XalanDOMString&		theResult);
  
  		virtual
  		~XalanStdOutputStreamWriteException();
+ 
+ 		virtual const XalanDOMChar*
+ 		getType() const
+ 		{
+ 			return m_type;
+ 		}
+ 
+ 	private:
+ 
+ 		static const XalanDOMChar	m_type[];
+ 
  	};
  

Index: ReusableArenaBlock.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/ReusableArenaBlock.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** ReusableArenaBlock.hpp	8 Apr 2004 07:56:09 -0000	1.1.1.1
--- ReusableArenaBlock.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  
***************
*** 60,68 ****
  
  
  
- #include <xalanc/PlatformSupport/XalanBitmap.hpp>
- #include <xalanc/PlatformSupport/ArenaBlock.hpp>
  
  
  
  
--- 19,28 ----
  
  
+ #include <xalanc/PlatformSupport/ArenaBlockBase.hpp>
  
  
  
+ #include <xalanc/Include/XalanMemMgrAutoPtr.hpp>
+ 
  
  
***************
*** 71,323 ****
  
  
! template<class ObjectType>
! class ReusableArenaBlock : public ArenaBlock<ObjectType>
  {
  public:
  
! 	typedef ArenaBlock<ObjectType>				BaseClassType;
  
! 	typedef typename BaseClassType::size_type	size_type;
  
! 	/*
! 	 * Construct an ArenaBlock of the specified size
! 	 * of objects.
! 	 *
! 	 * @param theBlockSize The size of the block (the number of objects it can contain).
! 	 */
! 	ReusableArenaBlock(size_type	theBlockSize) :
! 		BaseClassType(theBlockSize),
! 		m_freeList(theBlockSize),
! 		m_freeBlockCount(0)
! 	{
! 	}
  
! 	~ReusableArenaBlock()
! 	{
! 		// Note that this-> is required by template lookup rules.
! 		this->destroyAll();
! 	}
  
! 	/*
! 	 * Allocate a block.  Once the object is constructed, you must call
! 	 * commitAllocation().
! 	 *
! 	 * @return a pointer to the new block.
! 	 */
! 	virtual ObjectType*
! 	allocateBlock()
! 	{
! 		if (m_freeBlockCount == 0)
! 		{
! 			return BaseClassType::allocateBlock();
! 		}
! 		else
! 		{
! 			return getNextFromFreeList();
! 		}
! 	}
  
! 	/*
! 	 * Commit the previous allocation.
! 	 *
! 	 * @param theBlock the address that was returned by allocateBlock()
! 	 */
! 	virtual void
! 	commitAllocation(ObjectType*	theBlock)
! 	{
! 		assert(theBlock != 0);
! 		assert(m_freeBlockCount == 0 ||
! 			   theBlock == getNextFromFreeList());
  
! 		if (m_freeBlockCount == 0)
! 		{
! 			BaseClassType::commitAllocation(theBlock);
! 		}
! 		else
! 		{
! 			removeFromFreeList(theBlock);
! 		}
! 	}
  
! 	/*
! 	 * Find out if there is a block available.
! 	 *
! 	 * @return true if one is available, false if not.
! 	 */
! 	virtual bool
! 	blockAvailable() const
! 	{
! 		return m_freeBlockCount != 0 ? true : BaseClassType::blockAvailable();
! 	}
  
! 	/*
! 	 * Get the number of objects currently allocated in the
! 	 * block.
! 	 *
! 	 * @return The number of objects allocated.
! 	 */
! 	virtual size_type
! 	getCountAllocated() const
! 	{
! 		return BaseClassType::getCountAllocated() - m_freeBlockCount;
! 	}
  
! 	/*
! 	 * Determine if this block owns the specified object.  Note
! 	 * that even if the object address is within our block, this
! 	 * call will return false if no object currently occupies the
! 	 * block.  See also ownsBlock().
! 	 *
! 	 * @param theObject the address of the object.
! 	 * @return true if we own the object, false if not.
! 	 */
! 	virtual bool
! 	ownsObject(const ObjectType*	theObject) const
! 	{
! 		return BaseClassType::ownsObject(theObject) && !isOnFreeList(theObject);
! 	}
  
! 	/*
! 	 * Destroy the object, and return the block to the free list.
! 	 * The behavior is undefined if the object pointed to is not
! 	 * owned by the block.
! 	 *
! 	 * @param theObject the address of the object.
! 	 */
! 	void
! 	destroyObject(ObjectType*	theObject)
! 	{
! 		assert(ownsObject(theObject) == true);
  
! 		this->m_destroyFunction(*theObject);
  
! 		addToFreeList(theObject);
! 	}
  
! protected:
  
! 	/*
! 	 * Determine if the block should be destroyed.  Returns true,
! 	 * unless the object is on the free list.  The behavior is
! 	 * undefined if the object pointed to is not owned by the
! 	 * block.
! 	 *
! 	 * @param theObject the address of the object
! 	 * @return true if block should be destroyed, false if not.
! 	 */
! 	virtual bool
! 	shouldDestroyBlock(const ObjectType*	theObject) const
! 	{
! 		return !isOnFreeList(theObject);
! 	}
  
! private:
  
! 	// Not implemented...
! 	ReusableArenaBlock(const ReusableArenaBlock<ObjectType>&);
  
! 	ReusableArenaBlock<ObjectType>&
! 	operator=(const ReusableArenaBlock<ObjectType>&);
  
! 	bool
! 	operator==(const ReusableArenaBlock<ObjectType>&) const;
  
  
! 	/*
! 	 * Determine if the block is on the free list.  The behavior is
! 	 * undefined if the object pointed to is not owned by the
! 	 * block.
! 	 *
! 	 * @param theObject the address of the object
! 	 * @return true if block is on the free list, false if not.
! 	 */
! 	bool
! 	isOnFreeList(const ObjectType*	theObject) const
! 	{
! 		if (m_freeBlockCount == 0)
! 		{
! 			return false;
! 		}
! 		else
! 		{
! 			const size_type		theOffset =
! 					this->getBlockOffset(theObject);
  
! 			return m_freeList.isSet(theOffset);
! 		}
! 	}
  
! 	/*
! 	 * Add a block to the free list.  The behavior is
! 	 * undefined if the object pointed to is not owned by the
! 	 * block.
! 	 *
! 	 * @param theObject the address of the object
! 	 */
! 	void
! 	addToFreeList(const ObjectType*		theObject)
! 	{
! 		const size_type		theOffset =
! 				this->getBlockOffset(theObject);
  
! 		m_freeList.set(theOffset);
  
! 		++m_freeBlockCount;
! 	}
  
! 	/*
! 	 * Remove a block from the free list.  The behavior is
! 	 * undefined if the object pointed to is not owned by the
! 	 * block.
! 	 *
! 	 * @param theObject the address of the object
! 	 */
! 	void
! 	removeFromFreeList(const ObjectType*	theObject)
! 	{
! 		const size_type		theOffset =
! 				this->getBlockOffset(theObject);
  
! 		m_freeList.clear(theOffset);
  
! 		--m_freeBlockCount;
! 	}
  
! 	/*
! 	 * Get the next block from the free list.  Returns 0 if
! 	 * the free list is empty.
! 	 *
! 	 * @return the address of the block
! 	 */
! 	ObjectType*
! 	getNextFromFreeList()
! 	{
! 		ObjectType*		theResult = 0;
  
! 		if (m_freeBlockCount > 0)
! 		{
! 			const size_type		theFreeListSize = m_freeList.getSize();
  
! 			for(size_type i = 0; i < theFreeListSize; ++i)
! 			{
! 				if (m_freeList.isSet(i) == true)
! 				{
! 					// Note that this-> is required by template lookup rules.
! 					theResult = this->getBlockAddress(i);
  
! 					break;
! 				}
! 			}
! 		}
  
! 		return theResult;
! 	}
  
! 	// Bitmap which tracks which blocks are not in use
! 	// and that should not be destroyed.
! 	XalanBitmap		m_freeList;
  
! 	// The number of blocks on the free list.)
! 	size_type		m_freeBlockCount;
  };
  
--- 31,346 ----
  
  
! template <class ObjectType,
! #if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
!          class SizeType>
! #else
!          class SizeType = unsigned short>
! #endif
! class ReusableArenaBlock : public ArenaBlockBase<ObjectType, SizeType>
  {
+ 
  public:
  
!     typedef ArenaBlockBase<ObjectType, SizeType>        BaseClassType;
  
!     typedef typename BaseClassType::size_type           size_type;
  
!     typedef ReusableArenaBlock<ObjectType, SizeType>    ThisType;
  
!     struct NextBlock
!     {
!         enum { VALID_OBJECT_STAMP = 0xffddffdd };
  
!         size_type       next;
!         const int       verificationStamp;
!         
!         NextBlock( size_type _next):
!             next(_next),
!             verificationStamp(VALID_OBJECT_STAMP)
!         {
!         }
  
!         bool
!         isValidFor( size_type  rightBorder ) const
!         {
!             return ( ( verificationStamp == int(VALID_OBJECT_STAMP)) &&
!                 ( next <= rightBorder ) ) ? true : false ;
!         }
  
!         static NextBlock*
!         cast(void*  thePointer)
!         {
!             return reinterpret_cast<NextBlock*>(thePointer);
!         }
  
!         static const NextBlock*
!         cast(const void*    thePointer)
!         {
!             return reinterpret_cast<const NextBlock*>(thePointer);
!         }
!     };
  
!     /*
!      * Construct an ArenaBlock of the specified size
!      * of objects.
!      *
!      * @param theBlockSize The size of the block (the
!      * number of objects it can contain).
!      */
!     ReusableArenaBlock(
!                 MemoryManagerType&  theManager,
!                 size_type           theBlockSize) :
!         BaseClassType(theManager, theBlockSize),
!         m_firstFreeBlock(0),
!         m_nextFreeBlock(0)
  
!     {
!         XALAN_STATIC_ASSERT(sizeof(ObjectType) >= sizeof(NextBlock));
!         
!         for( size_type i = 0; i < this->m_blockSize; ++i )
!         {
!             new (&this->m_objectBlock[i]) NextBlock(size_type(i + 1));
!         }
!     }
  
!     ~ReusableArenaBlock()
!     {
!         size_type removedObjects = 0;
  
!         for (size_type i = 0;
!                 i < this->m_blockSize &&
!                 removedObjects < this->m_objectCount;
!                     ++i)
!         {
!             NextBlock* const    pStruct =
!                 NextBlock::cast(&this->m_objectBlock[i]);
  
!             if ( isOccupiedBlock(pStruct) )
!             {
!                 this->m_objectBlock[i].~ObjectType();
  
!                 ++removedObjects;
!             }
!         }
!     }
  
!     static ThisType*
!     create(
!                 MemoryManagerType&  theManager,
!                 size_type           theBlockSize)
!     {
!         ThisType* theInstance;
  
!         return XalanConstruct(
!                     theManager,
!                     theInstance,
!                     theManager,
!                     theBlockSize);
!     }
  
!     /*
!      * Allocate a block.  Once the object is constructed, you must call
!      * commitAllocation().
!      *
!      * @return a pointer to the new block.
!      */
!     ObjectType*
!     allocateBlock()
!     {
!         if ( this->m_objectCount == this->m_blockSize )
!         {
!             assert ( this->m_firstFreeBlock == (this->m_blockSize + 1) );
  
!             return 0;
!         }
!         else
!         {
!             assert( this->m_objectCount < this->m_blockSize );
  
!             ObjectType*     theResult = 0;
  
+             assert ( this->m_firstFreeBlock <= this->m_blockSize );
+             assert ( this->m_nextFreeBlock <= this->m_blockSize );
  
!             // check if any part was allocated but not commited
!             if(this->m_firstFreeBlock != this->m_nextFreeBlock)
!             {
!                 // return the previously allocated block and wait for a commit
!                 theResult = this->m_objectBlock + this->m_firstFreeBlock;
!             }
!             else
!             {
!                 theResult = this->m_objectBlock + this->m_firstFreeBlock;
  
!                 assert(size_type(theResult - this->m_objectBlock) < this->m_blockSize);
  
!                 this->m_nextFreeBlock = NextBlock::cast(theResult)->next;
  
!                 assert(NextBlock::cast(theResult)->isValidFor(this->m_blockSize));
!                 assert(this->m_nextFreeBlock <= this->m_blockSize);
  
!                 ++this->m_objectCount;
!             }
  
!             return theResult;
!         }
!     }
  
!     /*
!      * Commit the previous allocation.
!      *
!      * @param theBlock the address that was returned by allocateBlock()
!      */
!     void
!     commitAllocation(ObjectType* /* theBlock */)
!     {
!         assert ( this->m_objectCount <= this->m_blockSize );
  
!         this->m_firstFreeBlock = this->m_nextFreeBlock;
!     }
  
!     /*
!      * Destroy the object, and return the block to the free list.
!      * The behavior is undefined if the object pointed to is not
!      * owned by the block.
!      *
!      * @param theObject the address of the object.
!      */
!     void
!     destroyObject(ObjectType*   theObject)
!     {
!         assert(theObject != 0);
  
!         // check if any uncommited block is there, add it to the list
!         if ( this->m_firstFreeBlock != this->m_nextFreeBlock )
!         {
!             // Return it to the pool of free blocks
!             void* const     p = this->m_objectBlock + this->m_firstFreeBlock;
  
!             new (p) NextBlock(this->m_nextFreeBlock);
  
!             this->m_nextFreeBlock = this->m_firstFreeBlock;
!         }
  
!         assert(ownsObject(theObject) == true);
!         assert(shouldDestroyBlock(theObject));
  
!         XalanDestroy(*theObject);
  
!         new (theObject) NextBlock(this->m_firstFreeBlock);
! 
!         m_firstFreeBlock =
!             this->m_nextFreeBlock =
!             size_type(theObject - this->m_objectBlock);
! 
!         assert (this->m_firstFreeBlock <= this->m_blockSize);
! 
!         --this->m_objectCount;
!     }
! 
!     /*
!      * Determine if this block owns the specified object.  Note
!      * that even if the object address is within our block, this
!      * call will return false if no object currently occupies the
!      * block.  See also ownsBlock().
!      *
!      * @param theObject the address of the object.
!      * @return true if we own the object, false if not.
!      */
!     bool
!     ownsObject(const ObjectType*    theObject) const
!     {
!         assert ( theObject != 0 );
! 
!         return isOccupiedBlock(NextBlock::cast(theObject));
!     }
! 
! protected:
! 
!     /*
!      * Determine if the block should be destroyed.  Returns true,
!      * unless the object is on the free list.  The behavior is
!      * undefined if the object pointed to is not owned by the
!      * block.
!      *
!      * @param theObject the address of the object
!      * @return true if block should be destroyed, false if not.
!      */
!     bool
!     shouldDestroyBlock(const ObjectType*    theObject) const
!     {
!         assert(size_type(theObject - this->m_objectBlock) < this->m_blockSize);
! 
!         return !isOnFreeList(theObject);
!     }
! 
!     bool
!     isOccupiedBlock(const NextBlock*    block) const
!     {
!         assert( block !=0 );
! 
!         return !(this->ownsBlock(reinterpret_cast<const ObjectType*>(block)) &&
!                  block->isValidFor(this->m_blockSize));
!     }
! 
! private:
! 
!     // Not implemented...
!     ReusableArenaBlock(const ReusableArenaBlock<ObjectType, SizeType>&);
! 
!     ReusableArenaBlock<ObjectType, SizeType>&
!     operator=(const ReusableArenaBlock<ObjectType, SizeType>&);
! 
!     bool
!     operator==(const ReusableArenaBlock<ObjectType, SizeType>&) const;
! 
! 
!     /*
!      * Determine if the block is on the free list.  The behavior is
!      * undefined if the object pointed to is not owned by the
!      * block.
!      *
!      * @param theObject the address of the object
!      * @return true if block is on the free list, false if not.
!      */
!     bool
!     isOnFreeList(const ObjectType*  theObject) const
!     {
!         if ( this->m_objectCount == 0 )
!         {
!             return false;
!         }
!         else
!         {
!             ObjectType*     pRunPtr = this->m_objectBlock + this->m_firstFreeBlock;
! 
!             for (size_type i = 0;
!                     i < this->m_blockSize - this->m_objectCount;
!                         ++i)
!             {
!                 assert(this->ownsBlock(pRunPtr));
! 
!                 if (pRunPtr == theObject)
!                 {
!                     return true;
!                 }
!                 else
!                 {
!                     NextBlock* const    p = reinterpret_cast<NextBlock*>(pRunPtr);
! 
!                     assert(p->isValidFor(this->m_blockSize));
! 
!                     pRunPtr = this->m_objectBlock + p->next;
!                 }
!             }
! 
!             return false;
!         }
!     }
! 
!     // Data members...
!     size_type   m_firstFreeBlock;
! 
!     size_type   m_nextFreeBlock;
  };
  
***************
*** 328,330 ****
  
  
! #endif	// !defined(REUSABLEARENABLOCK_INCLUDE_GUARD_1357924680)
--- 351,353 ----
  
  
! #endif  // !defined(REUSABLEARENABLOCK_INCLUDE_GUARD_1357924680)

Index: StdBinInputStream.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/StdBinInputStream.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** StdBinInputStream.hpp	8 Apr 2004 07:56:09 -0000	1.1.1.1
--- StdBinInputStream.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,60 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
!  *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
!  *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   *
!  * $ Id: $
   *
   */
  
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
+  * Unless required by applicable law or agreed to in writing, software
+  * distributed under the License is distributed on an "AS IS" BASIS,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  * See the License for the specific language governing permissions and
+  * limitations under the License.
   */
  

Index: XalanOutputStream.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanOutputStream.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanOutputStream.hpp	8 Apr 2004 07:56:13 -0000	1.1.1.1
--- XalanOutputStream.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.	All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.	IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANOUTPUTSTREAM_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANOUTPUTSTREAM_HEADER_GUARD_1357924680)
***************
*** 65,69 ****
  
  
! #include <vector>
  
  
--- 24,28 ----
  
  
! #include <xalanc/Include/XalanVector.hpp>
  
  
***************
*** 73,76 ****
--- 32,36 ----
  
  
+ #include <xalanc/PlatformSupport/XalanTranscodingServices.hpp>
  #include <xalanc/PlatformSupport/XSLException.hpp>
  
***************
*** 89,106 ****
  public :
  
! 	enum { eDefaultBufferSize = 512, eDefaultTranscoderBlockSize = 1024 };
! 
! 
! #if defined(XALAN_NO_STD_NAMESPACE)
! 	typedef vector<XalanDOMChar>		BufferType;
! 
! 	typedef vector<char>				TranscodeVectorType;
! #else
! 	typedef std::vector<XalanDOMChar>	BufferType;
! 
! 	typedef std::vector<char>			TranscodeVectorType;
! #endif
  
! 	typedef BufferType::size_type	size_type;
  
  	/**
--- 49,58 ----
  public :
  
! 	enum { eDefaultBufferSize = 512u, eDefaultTranscoderBlockSize = 1024u };
  
! 	typedef XalanVector<XalanDOMChar>		BufferType;
! 	typedef XalanVector<char>				TranscodeVectorType;
! 	typedef XalanTranscodingServices::size_type	        size_type;
!     typedef XalanTranscodingServices::UnicodeCharType   UnicodeCharType;
  
  	/**
***************
*** 113,123 ****
  	explicit
  	XalanOutputStream(
! 			BufferType::size_type			theBufferSize = eDefaultBufferSize,
! 			TranscodeVectorType::size_type	theTranscoderBlockSize = eDefaultTranscoderBlockSize,
! 			bool							fThrowTranscodeException = true);
  
  	virtual
  	~XalanOutputStream();
  
  	static const XalanDOMChar*
  	defaultNewlineString()
--- 65,82 ----
  	explicit
  	XalanOutputStream(
!             MemoryManagerType&  theManager,
! 			size_type	        theBufferSize = eDefaultBufferSize,
! 			size_type	        theTranscoderBlockSize = eDefaultTranscoderBlockSize,
! 			bool		        fThrowTranscodeException = true);
  
  	virtual
  	~XalanOutputStream();
  
+     MemoryManagerType& 
+     getMemoryManager()
+     {
+         return m_buffer.getMemoryManager();
+     }
+ 
  	static const XalanDOMChar*
  	defaultNewlineString()
***************
*** 278,282 ****
  	 */
  	bool
! 	canTranscodeTo(unsigned int 	theChar) const;
  
  	const XalanOutputTranscoder*
--- 237,242 ----
  	 */
  	bool
! 	canTranscodeTo(UnicodeCharType 	theChar) const;
! 
  
  	const XalanOutputTranscoder*
***************
*** 311,315 ****
  	 */
  	void
! 	setThrowTranscodeException(bool flag)
  	{
  		m_throwTranscodeException = flag;
--- 271,275 ----
  	 */
  	void
! 	setThrowTranscodeException(bool     flag)
  	{
  		m_throwTranscodeException = flag;
***************
*** 322,326 ****
  	 */
  	void
! 	setBufferSize(BufferType::size_type 	theBufferSize);
  
  
--- 282,286 ----
  	 */
  	void
! 	setBufferSize(size_type     theBufferSize);
  
  
***************
*** 331,338 ****
  		XalanOutputStreamException(
  			const XalanDOMString&	theMessage,
! 			const XalanDOMString&	theType);
  
  		virtual
  		~XalanOutputStreamException();
  	};
  
--- 291,313 ----
  		XalanOutputStreamException(
  			const XalanDOMString&	theMessage,
!             MemoryManagerType&      theManager);
! 
!         XalanOutputStreamException( const XalanOutputStreamException& other):
!             XSLException(other)
!             {
!             }
  
  		virtual
  		~XalanOutputStreamException();
+ 
+ 		virtual const XalanDOMChar*
+ 		getType() const
+ 		{
+ 			return m_type;
+ 		}
+ 
+ 	private:
+ 		static const XalanDOMChar	m_type[];
+ 
  	};
  
***************
*** 342,349 ****
  
  		explicit
! 		UnknownEncodingException();
  
  		virtual
  		~UnknownEncodingException();
  	};
  
--- 317,334 ----
  
  		explicit
! 		UnknownEncodingException(XalanDOMString& theBuffer);
  
  		virtual
  		~UnknownEncodingException();
+ 
+ 		virtual const XalanDOMChar*
+ 		getType() const
+ 		{
+ 			return m_type;
+ 		}
+ 
+ 	private:
+ 		static const XalanDOMChar	m_type[];
+ 
  	};
  
***************
*** 352,356 ****
  	public:
  
! 		UnsupportedEncodingException(const XalanDOMString&	theEncoding);
  
  		virtual
--- 337,348 ----
  	public:
  
! 		UnsupportedEncodingException(const XalanDOMString&	theEncoding,
!                                         XalanDOMString& theBuffer);
! 
!         UnsupportedEncodingException(const UnsupportedEncodingException& other) :
!         XalanOutputStreamException(other),
!         m_encoding(other.getEncoding(),(const_cast<XalanDOMString*>(&(other.m_encoding)))->getMemoryManager())
!         {
!         }
  
  		virtual
***************
*** 363,368 ****
--- 355,368 ----
  		}
  
+ 
+ 		virtual const XalanDOMChar*
+ 		getType() const
+ 		{
+ 			return m_type;
+ 		}
  	private:
  
+ 		static const XalanDOMChar	m_type[];
+ 
  		const XalanDOMString	m_encoding;
  	};
***************
*** 372,376 ****
  	public:
  
! 		TranscoderInternalFailureException(const XalanDOMString&	theEncoding);
  
  		virtual
--- 372,383 ----
  	public:
  
! 		TranscoderInternalFailureException(const XalanDOMString&	theEncoding,
!                                             XalanDOMString& theBuffer);
! 
!         TranscoderInternalFailureException(const TranscoderInternalFailureException& other) :
!             XalanOutputStreamException(other),
!             m_encoding(other.getEncoding(),(const_cast<XalanDOMString*>(&(other.m_encoding)))->getMemoryManager())
!             {
!             }
  
  		virtual
***************
*** 393,397 ****
  
  		explicit
! 		TranscodingException();
  
  		virtual
--- 400,409 ----
  
  		explicit
! 		TranscodingException(XalanDOMString& theBuffer);
! 
!         TranscodingException(const TranscodingException& other) :
!         XalanOutputStreamException(other)
!         {
!         }
  
  		virtual
***************
*** 422,427 ****
  	virtual void
  	writeData(
! 			const char* 	theBuffer,
! 			size_type		theBufferLength) = 0;
  
  	/**
--- 434,439 ----
  	virtual void
  	writeData(
! 			const char* 	    theBuffer,
! 			size_type		    theBufferLength) = 0;
  
  	/**
***************
*** 451,472 ****
  	doWrite(
  			const XalanDOMChar* 	theBuffer,
! 			size_t					theBufferLength);
  
  
! 	const TranscodeVectorType::size_type	m_transcoderBlockSize;
  
! 	XalanOutputTranscoder*					m_transcoder;
  
! 	BufferType::size_type					m_bufferSize;
  
! 	BufferType								m_buffer;
  
! 	XalanDOMString							m_encoding;
  
! 	bool									m_writeAsUTF16;
  
! 	bool									m_throwTranscodeException;
  
! 	TranscodeVectorType 					m_transcodingBuffer;
  };
  
--- 463,484 ----
  	doWrite(
  			const XalanDOMChar* 	theBuffer,
! 			size_type				theBufferLength);
  
  
! 	const size_type	        m_transcoderBlockSize;
  
! 	XalanOutputTranscoder*	m_transcoder;
  
! 	size_type	            m_bufferSize;
  
! 	BufferType				m_buffer;
  
! 	XalanDOMString			m_encoding;
  
! 	bool					m_writeAsUTF16;
  
! 	bool					m_throwTranscodeException;
  
! 	TranscodeVectorType 	m_transcodingBuffer;
  };
  

Index: XalanXMLChar.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanXMLChar.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanXMLChar.hpp	8 Apr 2004 07:56:23 -0000	1.1.1.1
--- XalanXMLChar.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANXMLCHAR_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANXMLCHAR_HEADER_GUARD_1357924680)
***************
*** 62,69 ****
  // Base include file.  Must be first.
  #include <xalanc/PlatformSupport/PlatformSupportDefinitions.hpp>
- 
- 
- 
- #include <xalanc/XalanDOM/XalanDOMString.hpp>
  
  
--- 21,24 ----

Index: PrefixResolver.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/PrefixResolver.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** PrefixResolver.hpp	8 Apr 2004 07:56:09 -0000	1.1.1.1
--- PrefixResolver.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(PREFIXRESOLVER_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(PREFIXRESOLVER_HEADER_GUARD_1357924680)
***************
*** 64,68 ****
  
  
- 
  XALAN_CPP_NAMESPACE_BEGIN
  
--- 23,26 ----
***************
*** 80,83 ****
--- 38,42 ----
  {
  public:
+ 
  
  	PrefixResolver();

Index: XalanNumberFormat.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanNumberFormat.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanNumberFormat.hpp	8 Apr 2004 07:56:13 -0000	1.1.1.1
--- XalanNumberFormat.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANNUMBERFORMAT_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANNUMBERFORMAT_HEADER_GUARD_1357924680)
***************
*** 78,86 ****
  
  	explicit
! 	XalanNumberFormat();
  
  	virtual
  	~XalanNumberFormat();
  
  	/**
  	 * Format a number into a string.
--- 37,62 ----
  
  	explicit
! 	XalanNumberFormat(MemoryManagerType&      theManager);
! 
!     static XalanNumberFormat*
!     create(MemoryManagerType&      theManager)
!     {
!         XalanNumberFormat*  theInstance;
! 
!         return XalanConstruct(
!                     theManager,
!                     theInstance,
!                     theManager);
!     }
  
  	virtual
  	~XalanNumberFormat();
  
+     MemoryManagerType&
+     getMemoryManager()
+     {
+         return m_groupingSeparator.getMemoryManager();
+     }
+ 
  	/**
  	 * Format a number into a string.
***************
*** 89,105 ****
  	 * @return string representation of number
  	 */
! 	virtual XalanDOMString
! 	format(double	theValue);
  
- 	/**
- 	 * Format a number into a string.
- 	 *
- 	 * @param theValue number to format
- 	 * @param theResult the string result
- 	 */
- 	virtual void
- 	format(
- 			double				theValue,
- 			XalanDOMString&		theResult);
  
  	/**
--- 65,73 ----
  	 * @return string representation of number
  	 */
! 	virtual XalanDOMString&
! 	format(double	theValue,
!             XalanDOMString&		theResult);
! 
  
  
  	/**
***************
*** 109,134 ****
  	 * @return string representation of number
  	 */
! 	virtual XalanDOMString
! 	format(int	theValue);
  
- 	/**
- 	 * Format a number into a string.
- 	 *
- 	 * @param theValue number to format
- 	 * @param theResult the string result
- 	 */
- 	virtual void
- 	format(
- 			int					theValue,
- 			XalanDOMString&		theResult);
  
- 	/**
- 	 * Format a number into a string.
- 	 *
- 	 * @param theValue number to format
- 	 * @return string representation of number
- 	 */
- 	virtual XalanDOMString
- 	format(unsigned int		theValue);
  
  	/**
--- 77,85 ----
  	 * @return string representation of number
  	 */
! 	virtual XalanDOMString&
! 	format(int	theValue,
!             XalanDOMString&		theResult);
  
  
  
  	/**
***************
*** 138,142 ****
  	 * @param theResult the string result
  	 */
! 	virtual void
  	format(
  			unsigned int		theValue,
--- 89,93 ----
  	 * @param theResult the string result
  	 */
! 	virtual XalanDOMString&
  	format(
  			unsigned int		theValue,
***************
*** 149,174 ****
  	 * @return string representation of number
  	 */
! 	virtual XalanDOMString
! 	format(long		theValue);
! 
! 	/**
! 	 * Format a number into a string.
! 	 *
! 	 * @param theValue number to format
! 	 * @param theResult the string result
! 	 */
! 	virtual void
! 	format(
! 			long				theValue,
! 			XalanDOMString&		theResult);
  
- 	/**
- 	 * Format a number into a string.
- 	 *
- 	 * @param theValue number to format
- 	 * @return string representation of number
- 	 */
- 	virtual XalanDOMString
- 	format(unsigned long	theValue);
  
  	/**
--- 100,107 ----
  	 * @return string representation of number
  	 */
! 	virtual XalanDOMString&
! 	format(long		theValue,
!             XalanDOMString&		theResult);
  
  
  	/**
***************
*** 178,182 ****
  	 * @param theResult the string result
  	 */
! 	virtual void
  	format(
  			unsigned long		theValue,
--- 111,115 ----
  	 * @param theResult the string result
  	 */
! 	virtual XalanDOMString&
  	format(
  			unsigned long		theValue,

Index: ArenaBlock.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/ArenaBlock.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** ArenaBlock.hpp	8 Apr 2004 07:56:05 -0000	1.1.1.1
--- ArenaBlock.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  
***************
*** 61,74 ****
  
  
! #include <algorithm>
! #include <cassert>
! #include <set>
! #include <memory>
! 
! 
  
- #if defined(XALAN_NO_STD_ALLOCATORS) && !defined(XALAN_NO_SELECTIVE_TEMPLATE_INSTANTIATION)
- #include <xalanc/PlatformSupport/XalanAllocator.hpp>
- #endif
  
  
--- 20,25 ----
  
  
! #include <xalanc/PlatformSupport/ArenaBlockBase.hpp>
  
  
  
***************
*** 77,162 ****
  
  
! 
! #if defined(XALAN_NO_SELECTIVE_TEMPLATE_INSTANTIATION)
! 
! template <class Type>
! class ArenaBlockAllocator
! {
! public:
! 
! 	typedef size_t			size_type;
! 	typedef ptrdiff_t		difference_type;
! 	typedef Type*			pointer;
! 	typedef const Type*		const_pointer;
! 	typedef Type&			reference;
! 	typedef const Type&		const_reference;
! 	typedef Type			value_type;
! 
! 	ArenaBlockAllocator()
! 	{
! 	}
! 
! 	ArenaBlockAllocator(const ArenaBlockAllocator<Type>&)
! 	{
! 	};
! 
! 	~ArenaBlockAllocator()
! 	{
! 	}
! 
! 	pointer
! 	allocate(
! 			size_type		size,
! 			const void*		/* hint */ = 0)
! 	{
! 		return (pointer)operator new(size * sizeof(Type));
! 	}
! 
! 	void
! 	deallocate(
! 				pointer		p,
! 				size_type	/* n */)
! 	{
! 		operator delete(p);
! 	}
! };
! #endif
! 
! 
! 
! template<class ObjectType>
! class ArenaBlockDestroy
! {
! public:
! 
! 	void
! 	operator()(ObjectType&	theObject) const
! 	{
! #if defined(XALAN_EXPLICIT_SCOPE_IN_TEMPLATE_BUG)
! 		theObject.~ObjectType();
  #else
! 		theObject.ObjectType::~ObjectType();
  #endif
! 	}
! };
! 
! 
! 
! template<class ObjectType>
! class ArenaBlock
  {
  public:
  
! #if defined(XALAN_NO_SELECTIVE_TEMPLATE_INSTANTIATION)
! 	typedef ArenaBlockAllocator<ObjectType>		AllocatorType;
! #elif defined(XALAN_NO_STD_ALLOCATORS)
! 	typedef XalanAllocator<ObjectType>			AllocatorType;
! #else
! 	typedef std::allocator<ObjectType>			AllocatorType;
! #endif
  
! 	typedef ArenaBlockDestroy<ObjectType>		DestroyFunctionType;
  
! 	typedef typename AllocatorType::size_type	size_type;
  
  	/*
--- 28,46 ----
  
  
! template<class ObjectType,
! #if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
! 		 class SizeType>
  #else
! 		 class SizeType = size_t>
  #endif
! class ArenaBlock : public ArenaBlockBase<ObjectType, SizeType>
  {
  public:
  
! 	typedef ArenaBlockBase<ObjectType, SizeType>	BaseClassType;
  
!     typedef ArenaBlock<ObjectType, SizeType>        ThisType;
  
! 	typedef typename BaseClassType::size_type		size_type;
  
  	/*
***************
*** 164,189 ****
  	 * of objects.
  	 *
  	 * @param theBlockSize The size of the block (the number of objects it can contain).
  	 */
! 	ArenaBlock(size_type	theBlockSize) :
! 		m_destroyFunction(DestroyFunctionType()),
! 		m_objectCount(0),
! 		m_blockSize(theBlockSize),
! 		m_objectBlock(0),
! 		m_allocator()
  	{
- 		assert(theBlockSize > 0);
  	}
  
- 	virtual 
  	~ArenaBlock()
! 	{
! 		destroyAll();
! 
! 		// Release the memory...
! 		m_allocator.deallocate(m_objectBlock, m_blockSize);
  	}
  
! 	/*
  	 * Allocate a block.  Once the object is constructed, you must call
  	 * commitAllocation().
--- 48,86 ----
  	 * of objects.
  	 *
+ 	 * @param theManager The memory manager instance for the block.
  	 * @param theBlockSize The size of the block (the number of objects it can contain).
  	 */
! 	ArenaBlock(
!                 MemoryManagerType&  theManager,
!                 size_type	        theBlockSize) :	
! 	    BaseClassType(theManager, theBlockSize)
  	{
  	}
  
  	~ArenaBlock()
! 	{	
! 		assert( this->m_objectCount <= this->m_blockSize );
! 		
! 		for ( size_type i = 0; i < this->m_objectCount  ; ++i )
! 		{
! 			XalanDestroy(this->m_objectBlock[i]);
! 		}
  	}
  
!     static ThisType*
!     create(
!                 MemoryManagerType&  theManager,
!                 size_type	        theBlockSize)
!     {
!         ThisType* theInstance;
! 
!         return XalanConstruct(
!                     theManager,
!                     theInstance,
!                     theManager,
!                     theBlockSize);
!     }
! 
!     /*
  	 * Allocate a block.  Once the object is constructed, you must call
  	 * commitAllocation().
***************
*** 191,199 ****
  	 * @return a pointer to the new block.
  	 */
! 	virtual ObjectType*
  	allocateBlock()
  	{
  		// Any space left?
! 		if (m_objectCount == m_blockSize)
  		{
  			return 0;
--- 88,96 ----
  	 * @return a pointer to the new block.
  	 */
! 	ObjectType*
  	allocateBlock()
  	{
  		// Any space left?
! 		if (this->m_objectCount == this->m_blockSize)
  		{
  			return 0;
***************
*** 201,216 ****
  		else
  		{
! 			// If no memory has yet been allocated, then allocate it...
! 			if (m_objectBlock == 0)
! 			{
! #if defined(XALAN_NEW_STD_ALLOCATOR)
! 				m_objectBlock = m_allocator.allocate(m_blockSize);
! #else
! 				m_objectBlock = m_allocator.allocate(m_blockSize, 0);
! #endif
! 			}
! 			assert(m_objectBlock != 0);
  
! 			return m_objectBlock + m_objectCount;
  		}
  	}
--- 98,104 ----
  		else
  		{
! 			assert(this->m_objectBlock != 0);
  
! 			return this->m_objectBlock + this->m_objectCount;
  		}
  	}
***************
*** 221,225 ****
  	 * @param theBlock the address that was returned by allocateBlock()
  	 */
! 	virtual void
  #if defined (NDEBUG)
  	commitAllocation(ObjectType*	/* theBlock */)
--- 109,113 ----
  	 * @param theBlock the address that was returned by allocateBlock()
  	 */
! 	void
  #if defined (NDEBUG)
  	commitAllocation(ObjectType*	/* theBlock */)
***************
*** 228,270 ****
  #endif
  	{
! 		assert(theBlock == m_objectBlock + m_objectCount);
! 		assert(m_objectCount < m_blockSize);
! 
! 		m_objectCount++;
! 	}
! 
! 	/*
! 	 * Find out if there is a block available.
! 	 *
! 	 * @return true if one is available, false if not.
! 	 */
! 	virtual bool
! 	blockAvailable() const
! 	{
! 		return m_objectCount < m_blockSize ? true : false;
! 	}
! 
! 	/*
! 	 * Get the number of objects currently allocated in the
! 	 * block.
! 	 *
! 	 * @return The number of objects allocated.
! 	 */
! 	virtual size_type
! 	getCountAllocated() const
! 	{
! 		return m_objectCount;
! 	}
  
! 	/*
! 	 * Get the block size, that is, the number
! 	 * of objects in each block.
! 	 *
! 	 * @return The size of the block
! 	 */
! 	size_type
! 	getBlockSize() const
! 	{
! 		return m_blockSize;
  	}
  
--- 116,123 ----
  #endif
  	{
! 		assert(theBlock == this->m_objectBlock + this->m_objectCount);
! 		assert(this->m_objectCount < this->m_blockSize);
  
! 		++this->m_objectCount;
  	}
  
***************
*** 278,439 ****
  	 * @return true if we own the object, false if not.
  	 */
- 	virtual bool
- 	ownsObject(const ObjectType*	theObject) const
- 	{
- 		// Use less<>, since it's guaranteed to do pointer
- 		// comparisons correctly...
- 		XALAN_STD_QUALIFIER less<const ObjectType*>		functor;
- 
- 		if (functor(theObject, m_objectBlock) == false &&
- 			functor(theObject, m_objectBlock + m_objectCount) == true)
- 		{
- 			return true;
- 		}
- 		else
- 		{
- 			return false;
- 		}
- 	}
- 
- 	/*
- 	 * Determine if this block owns the specified object block.
- 	 * Note that, unlike ownsObject(), there does not need to
- 	 * be an object at the address.
- 	 *
- 	 * @param theObject the address of the object
- 	 * @return true if we own the object block, false if not.
- 	 */
  	bool
! 	ownsBlock(const ObjectType*		theObject) const
! 	{
! 		// Use less<>, since it's guaranteed to do pointer
! 		// comparisons correctly...
! 		XALAN_STD_QUALIFIER less<const ObjectType*>		functor;
! 
! 		if (functor(theObject, m_objectBlock) == false &&
! 			functor(theObject, m_objectBlock + m_blockSize) == true)
! 		{
! 			return true;
! 		}
! 		else
! 		{
! 			return false;
! 		}
! 	}
! 
! 	/*
! 	 * Destroy all objects in the block.  You can then reuse the
! 	 * block.
! 	 */
! 	void
! 	destroyAll()
! 	{
! 		// Destroy all existing objects...
! 		XALAN_STD_QUALIFIER for_each(m_objectBlock,
! 				 m_objectBlock + m_objectCount,
! 				 DeleteFunctor(*this, m_destroyFunction));
! 
! 		m_objectCount = 0;
! 	}
! 
! protected:
! 
! 	/*
! 	 * Determine if the block should be destroyed.  Called by
! 	 * an instance of DeleteFunctor, this function is for
! 	 * deriving classes that might want to control the destruction
! 	 * of things.
! 	 *
! 	 * @param theObject the address of the object
! 	 * @return true if block should be destroyed, false if not.
! 	 */
! 	virtual bool
! 	shouldDestroyBlock(const ObjectType*	/* theObject */) const
! 	{
! 		return true;
! 	}
! 
! 	/*
! 	 * Determine the offset into the block for the given address.
! 	 * Behavior is undefined if the address is not within our
! 	 * block
! 	 *
! 	 * @param theObject the address of the object
! 	 * @return the offset
! 	 */
! 	size_type
! 	getBlockOffset(const ObjectType*	theObject) const
! 	{
! 		assert(size_type(theObject - m_objectBlock) < m_blockSize);
! 
! 		return theObject - m_objectBlock;
! 	}
! 
! 	/*
! 	 * Determine the address within our block of the object
! 	 * at the specified offset.
! 	 * Behavior is undefined if the offset is greater than the
! 	 * block size.
! 	 *
! 	 * @param theObject the address of the object
! 	 * @return the offset
! 	 */
! 	ObjectType*
! 	getBlockAddress(size_type	theOffset) const
  	{
! 		assert(theOffset < m_blockSize);
! 
! 		return m_objectBlock + theOffset;
  	}
  
- 	struct DeleteFunctor
- 	{
- 		DeleteFunctor(
- 				const ArenaBlock<ObjectType>&	theArenaBlock,
- 				const DestroyFunctionType&		theDestroyFunction) :
- 			m_arenaBlock(theArenaBlock),
- 			m_destroyFunction(theDestroyFunction)
- 		{
- 		}
- 
- 		void
- 		operator()(ObjectType&	theObject) const
- 		{
- 			if (m_arenaBlock.shouldDestroyBlock(&theObject) == true)
- 			{
- 				m_destroyFunction(theObject);
- 			}
- 		}
- 
- 	private:
- 
- 		const ArenaBlock<ObjectType>&	m_arenaBlock;
- 		const DestroyFunctionType&		m_destroyFunction;
- 	};
- 
- 	friend struct DeleteFunctor;
- 
- 	const DestroyFunctionType	m_destroyFunction;
- 
  private:
  
  	// Not implemented...
! 	ArenaBlock(const ArenaBlock<ObjectType>&);
  
! 	ArenaBlock<ObjectType>&
! 	operator=(const ArenaBlock<ObjectType>&);
  
  	bool
! 	operator==(const ArenaBlock<ObjectType>&) const;
! 
! 
! 	// data members...
! 	size_type			m_objectCount;
! 
! 	const size_type		m_blockSize;
! 
! 	ObjectType*			m_objectBlock;
! 
! 	AllocatorType		m_allocator;
  };
  
--- 131,150 ----
  	 * @return true if we own the object, false if not.
  	 */
  	bool
! 	ownsObject(const ObjectType*	theObject) const
  	{
! 		return this->isInBorders(theObject, this->m_objectCount);
  	}
  
  private:
  
  	// Not implemented...
! 	ArenaBlock(const ArenaBlock<ObjectType, SizeType>&);
  
! 	ArenaBlock<ObjectType, SizeType>&
! 	operator=(const ArenaBlock<ObjectType, SizeType>&);
  
  	bool
! 	operator==(const ArenaBlock<ObjectType, SizeType>&) const;
  };
  

Index: XalanDOMStringAllocator.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanDOMStringAllocator.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanDOMStringAllocator.hpp	8 Apr 2004 07:56:10 -0000	1.1.1.1
--- XalanDOMStringAllocator.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  
***************
*** 104,108 ****
  	 * @param theBlockSize The block size.
  	 */
! 	XalanDOMStringAllocator(size_type	theBlockCount);
  
  	~XalanDOMStringAllocator();
--- 63,67 ----
  	 * @param theBlockSize The block size.
  	 */
! 	XalanDOMStringAllocator(MemoryManagerType&      theManager, size_type	theBlockCount);
  
  	~XalanDOMStringAllocator();
***************
*** 111,114 ****
--- 70,81 ----
  	 * Create a XalanDOMString object.
  	 * 
+ 	 * @return pointer to the new instance
+ 	 */
+ 	data_type*
+ 	create();
+ 
+ 	/**
+ 	 * Create a XalanDOMString object.
+ 	 * 
  	 * @param theString A pointer to a character string
  	 * @param theCount The number of characters in the string, or npos if the string is null-terminated.
***************
*** 119,127 ****
  	create(
  			const char*				theString,
! #if defined(_MSC_VER)
  			// $$$ ToDo: Some strange bug in MSVC++ complains when using data_type::npos here.
  			data_type_size_type		theCount = data_type_size_type(-1));
  #else
! 	data_type_size_type		theCount = data_type_size_type(data_type::npos));
  #endif
  
--- 86,94 ----
  	create(
  			const char*				theString,
! #if defined(_MSC_VER) && (_MSC_VER <= 1300)
  			// $$$ ToDo: Some strange bug in MSVC++ complains when using data_type::npos here.
  			data_type_size_type		theCount = data_type_size_type(-1));
  #else
! 	        data_type_size_type		theCount = data_type_size_type(data_type::npos));
  #endif
  
***************
*** 207,210 ****
--- 174,201 ----
  		return m_allocator.getBlockSize();
  	}
+ 
+ 	/**
+ 	 * Get a reference to the MemoryManagerType instance
+ 	 * for this instance.
+ 	 *
+ 	 * @return A reference to the MemoryManagerType instance.
+ 	 */
+     MemoryManagerType&
+     getMemoryManager()
+     {
+         return m_allocator.getMemoryManager();
+     }
+ 
+ 	/**
+ 	 * Get a reference to the MemoryManagerType instance
+ 	 * for this instance.
+ 	 *
+ 	 * @return A reference to the MemoryManagerType instance.
+ 	 */
+     const MemoryManagerType&
+     getMemoryManager() const
+     {
+         return m_allocator.getMemoryManager();
+     }
  
  private:

Index: XalanAllocator.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanAllocator.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanAllocator.hpp	8 Apr 2004 07:56:09 -0000	1.1.1.1
--- XalanAllocator.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  
***************
*** 81,96 ****
  	typedef Type			value_type;
  
! 	XalanAllocator()
  	{
  	}
  
- 	XalanAllocator(const XalanAllocator<Type>&)
- 	{
- 	};
  
  	~XalanAllocator()
  	{
  	}
! 
  	pointer
  	address(reference	x) const
--- 40,60 ----
  	typedef Type			value_type;
  
! 	
! 	XalanAllocator(MemoryManagerType&      theManager) :
!         m_memoryManager(theManager)
  	{
  	}
  
  
  	~XalanAllocator()
  	{
  	}
! 	
!     MemoryManagerType&
!     getMemoryManager()
!     {
!         return m_memoryManager;
!     }
!     
  	pointer
  	address(reference	x) const
***************
*** 110,114 ****
  			const void*		/* hint */ = 0)
  	{
! 		return (pointer)operator new(size * sizeof(Type));
  	}
  
--- 74,78 ----
  			const void*		/* hint */ = 0)
  	{
! 		return (pointer)m_memoryManager.allocate(size * sizeof(Type));
  	}
  
***************
*** 118,122 ****
  				size_type	/* n */)
  	{
! 		operator delete(p);
  	}
  
--- 82,91 ----
  				size_type	/* n */)
  	{
!         if( p == 0 )
!         {
!             return;
!         }
! 
!         m_memoryManager.deallocate(p);
  	}
  
***************
*** 140,143 ****
--- 109,120 ----
  		p->Type::~Type();
  	}
+ 	
+ private:
+ 	XalanAllocator(const XalanAllocator<Type>&);
+ 	
+     XalanAllocator<Type>&
+     operator=(const XalanAllocator<Type>&);
+     
+     MemoryManagerType&      m_memoryManager;
  };
  

Index: XalanDOMStringHashTable.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/XalanDOMStringHashTable.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** XalanDOMStringHashTable.hpp	8 Apr 2004 07:56:11 -0000	1.1.1.1
--- XalanDOMStringHashTable.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(XALANDOMSTRINGHASHTABLE_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(XALANDOMSTRINGHASHTABLE_HEADER_GUARD_1357924680)
***************
*** 65,73 ****
  
  
! #include <vector>
  
  
  
- #include <xalanc/Include/XalanAutoPtr.hpp>
  
  
--- 24,32 ----
  
  
! #include <xalanc/Include/XalanVector.hpp>
  
  
+ #include <xalanc/Include/XalanMemMgrAutoPtr.hpp>
  
  
  
***************
*** 85,98 ****
  public:
  
! #if defined(XALAN_NO_STD_NAMESPACE)
! 	typedef vector<const XalanDOMString*>	BucketType;
! 	typedef BucketType::size_type			bucket_size_type;
! 	typedef vector<bucket_size_type>		BucketCountsType;
! #else
! 	typedef std::vector<const XalanDOMString*>	BucketType;
  	typedef BucketType::size_type				bucket_size_type;
! 	typedef std::vector<bucket_size_type>		BucketCountsType;
! #endif
! 
  
  	enum { eDefaultBucketCount = 101, eDefaultBucketSize = 15 };
--- 44,50 ----
  public:
  
! 	typedef XalanVector<const XalanDOMString*>	BucketType;
  	typedef BucketType::size_type				bucket_size_type;
! 	typedef XalanVector<bucket_size_type>		BucketCountsType;
  
  	enum { eDefaultBucketCount = 101, eDefaultBucketSize = 15 };
***************
*** 107,110 ****
--- 59,63 ----
  	explicit
  	XalanDOMStringHashTable(
+             MemoryManagerType&  theManager,
  			size_t				theBucketCount = eDefaultBucketCount,
  			bucket_size_type	theBucketSize = eDefaultBucketSize);
***************
*** 248,251 ****
--- 201,220 ----
  #endif
  
+     MemoryManagerType&
+     getMemoryManager()
+     {
+         assert(m_buckets.getMemoryManager() != 0);
+ 
+         return *m_buckets.getMemoryManager();
+     }
+ 
+     const MemoryManagerType&
+     getMemoryManager() const
+     {
+         assert(m_buckets.getMemoryManager() != 0);
+ 
+         return *m_buckets.getMemoryManager();
+     }
+ 
  private:
  
***************
*** 265,269 ****
  	const bucket_size_type			m_bucketSize;
  
! 	XalanArrayAutoPtr<BucketType>	m_buckets;
  
  	size_t							m_count;
--- 234,238 ----
  	const bucket_size_type			m_bucketSize;
  
! 	XalanMemMgrAutoPtrArray<BucketType>	m_buckets;
  
  	size_t							m_count;

Index: PrintWriter.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/PrintWriter.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** PrintWriter.hpp	8 Apr 2004 07:56:09 -0000	1.1.1.1
--- PrintWriter.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  #if !defined(PRINTWRITER_HEADER_GUARD_1357924680)
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  #if !defined(PRINTWRITER_HEADER_GUARD_1357924680)
***************
*** 83,87 ****
  	 * @param fAutoFlush if true, the output will not be buffered
  	 */
! 	PrintWriter(bool	fAutoFlush = false);
  
  	virtual
--- 42,52 ----
  	 * @param fAutoFlush if true, the output will not be buffered
  	 */
! 	PrintWriter( bool	fAutoFlush = false, MemoryManagerType& theManager XALAN_DEFAULT_MEMMGR);
! 
!     MemoryManagerType& 
!     getMemoryManager()
!     {
!         return m_memoryManager;
!     }
  
  	virtual
***************
*** 196,199 ****
--- 161,166 ----
  
  	const bool						m_fAutoFlush;
+ 
+     MemoryManagerType&              m_memoryManager;
  
  	// Some static strings to help derived classes...

Index: ArenaAllocator.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/ArenaAllocator.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** ArenaAllocator.hpp	8 Apr 2004 07:56:05 -0000	1.1.1.1
--- ArenaAllocator.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  
***************
*** 62,92 ****
  
  #include <algorithm>
- #include <vector>
  
  
  
! #include "ArenaBlock.hpp"
! 
  
  
- XALAN_CPP_NAMESPACE_BEGIN
  
  
  
- template<class Type>
- class ArenaDeleteFunctor
- {
- public:
  
! 	void
! 	operator()(const Type*	theType) const
! 	{
! #if defined(XALAN_CANNOT_DELETE_CONST)
! 		delete (Type*)theType;
! #else
! 		delete theType;
! #endif
! 	}
! };
  
  
--- 21,37 ----
  
  #include <algorithm>
  
  
  
! #include <xalanc/Include/STLHelper.hpp>
! #include <xalanc/Include/XalanList.hpp>
  
  
  
+ #include "ArenaBlock.hpp"
  
  
  
! XALAN_CPP_NAMESPACE_BEGIN
  
  
***************
*** 102,105 ****
--- 47,54 ----
  public:
  
+     typedef ArenaAllocator<ObjectType, ArenaBlockType>  ThisType;
+ 
+ 	typedef XalanList<ArenaBlockType*>	        ArenaBlockListType;
+ 
  	typedef typename ArenaBlockType::size_type	size_type;
  
***************
*** 109,115 ****
  	 * @param theBlockSize The block size.
  	 */
! 	ArenaAllocator(size_type	theBlockSize) :
  		m_blockSize(theBlockSize),
! 		m_blocks()
  	{
  	}
--- 58,66 ----
  	 * @param theBlockSize The block size.
  	 */
! 	ArenaAllocator(
!                 MemoryManagerType&  theManager,
!                 size_type	        theBlockSize) :
  		m_blockSize(theBlockSize),
! 		m_blocks(theManager)
  	{
  	}
***************
*** 121,125 ****
  	}
  
! 	/*
  	 * Get size of an ArenaBlock, that is, the number
  	 * of objects in each block.
--- 72,88 ----
  	}
  
!     MemoryManagerType&
!     getMemoryManager()
!     {
!         return m_blocks.getMemoryManager();
!     }
! 
!     const MemoryManagerType&
!     getMemoryManager() const
!     {
!         return m_blocks.getMemoryManager();
!     }
! 
!     /*
  	 * Get size of an ArenaBlock, that is, the number
  	 * of objects in each block.
***************
*** 154,158 ****
  	getBlockCount() const
  	{
! 		return m_blocks.size();
  	}
  
--- 117,121 ----
  	getBlockCount() const
  	{
! 		return (size_type)m_blocks.size();
  	}
  
***************
*** 170,176 ****
  			m_blocks.back()->blockAvailable() == false)
  		{
! 			m_blocks.push_back(new ArenaBlockType(m_blockSize));
  		}
! 		assert(m_blocks.empty() == false && m_blocks.back() != 0 && m_blocks.back()->blockAvailable() == true);
  
  		return m_blocks.back()->allocateBlock();
--- 133,145 ----
  			m_blocks.back()->blockAvailable() == false)
  		{
!             m_blocks.push_back(
!                 ArenaBlockType::create(
!                     getMemoryManager(),
!                     m_blockSize));
  		}
! 		assert(
!             m_blocks.empty() == false &&
!             m_blocks.back() != 0 &&
!             m_blocks.back()->blockAvailable() == true);
  
  		return m_blocks.back()->allocateBlock();
***************
*** 186,193 ****
  	commitAllocation(ObjectType*	theObject)
  	{
! 		assert(m_blocks.empty() == false && m_blocks.back()->ownsBlock(theObject) == true);
  
  		m_blocks.back()->commitAllocation(theObject);
! 		assert(m_blocks.back()->ownsObject(theObject) == true);
  	}
  
--- 155,165 ----
  	commitAllocation(ObjectType*	theObject)
  	{
! 		assert(
!             m_blocks.empty() == false &&
!             m_blocks.back()->ownsBlock(theObject) == true);
  
  		m_blocks.back()->commitAllocation(theObject);
! 
!         assert(m_blocks.back()->ownsObject(theObject) == true);
  	}
  
***************
*** 197,205 ****
  		bool	fResult = false;
  
  		// Search back for a block that may have allocated the object...
! 		// Note that this-> is required by template lookup rules.
! 		const typename ArenaBlockListType::const_reverse_iterator	theEnd = this->m_blocks.rend();
  
! 		typename ArenaBlockListType::const_reverse_iterator	i = this->m_blocks.rbegin();
  
  		while(i != theEnd)
--- 169,178 ----
  		bool	fResult = false;
  
+         typedef typename ArenaBlockListType::const_reverse_iterator     const_reverse_iterator;
+ 
  		// Search back for a block that may have allocated the object...
! 		const const_reverse_iterator    theEnd = this->m_blocks.rend();
  
! 		const_reverse_iterator  i = this->m_blocks.rbegin();
  
  		while(i != theEnd)
***************
*** 225,233 ****
  	reset()
  	{
- 		
  		XALAN_STD_QUALIFIER for_each(
  			m_blocks.begin(),
  			m_blocks.end(),
! 			ArenaDeleteFunctor<ArenaBlockType>());
  
  		m_blocks.clear();
--- 198,205 ----
  	reset()
  	{
  		XALAN_STD_QUALIFIER for_each(
  			m_blocks.begin(),
  			m_blocks.end(),
!             DeleteFunctor<ArenaBlockType>(m_blocks.getMemoryManager()));
  
  		m_blocks.clear();
***************
*** 237,246 ****
  
  	// data members...
- #if defined(XALAN_NO_STD_NAMESPACE)
- 	typedef vector<ArenaBlockType*>			ArenaBlockListType;
- #else
- 	typedef std::vector<ArenaBlockType*>	ArenaBlockListType;
- #endif
- 
  	size_type			m_blockSize;
  
--- 209,212 ----
***************
*** 254,257 ****
--- 220,226 ----
  	ArenaAllocator<ObjectType, ArenaBlockType>&
  	operator=(const ArenaAllocator<ObjectType, ArenaBlockType>&);
+ 
+ 	bool
+ 	operator==(const ArenaAllocator<ObjectType, ArenaBlockType>&) const;
  };
  

Index: PlatformSupportInit.hpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Include/xalanc/PlatformSupport/PlatformSupportInit.hpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** PlatformSupportInit.hpp	8 Apr 2004 07:56:08 -0000	1.1.1.1
--- PlatformSupportInit.hpp	19 Feb 2008 20:14:03 -0000	1.2
***************
*** 1,57 ****
  /*
!  * The Apache Software License, Version 1.1
!  *
!  *
!  * Copyright (c) 1999-2004 The Apache Software Foundation.  All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        Apache Software Foundation (http://www.apache.org/)."
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "Xalan" and "Apache Software Foundation" must
!  *    not be used to endorse or promote products derived from this
!  *    software without prior written permission. For written 
!  *    permission, please contact apache at apache.org.
   *
!  * 5. Products derived from this software may not be called "Apache",
!  *    nor may "Apache" appear in their name, without prior written
!  *    permission of the Apache Software Foundation.
   *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
!  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
   *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the Apache Software Foundation and was
!  * originally based on software copyright (c) 1999, International
!  * Business Machines, Inc., http://www.ibm.com.  For more
!  * information on the Apache Software Foundation, please see
!  * <http://www.apache.org/>.
   */
  
--- 1,16 ----
  /*
!  * Copyright 1999-2004 The Apache Software Foundation.
   *
!  * Licensed under the Apache License, Version 2.0 (the "License");
!  * you may not use this file except in compliance with the License.
!  * You may obtain a copy of the License at
   *
!  *     http://www.apache.org/licenses/LICENSE-2.0
   *
!  * Unless required by applicable law or agreed to in writing, software
!  * distributed under the License is distributed on an "AS IS" BASIS,
!  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  * See the License for the specific language governing permissions and
!  * limitations under the License.
   */
  
***************
*** 78,82 ****
  public:
  
! 	PlatformSupportInit();
  
  	~PlatformSupportInit();
--- 37,41 ----
  public:
  
! 	PlatformSupportInit(MemoryManagerType&      theManager);
  
  	~PlatformSupportInit();
***************
*** 92,96 ****
  	
  	static void
! 	initialize();
  
  	static void
--- 51,55 ----
  	
  	static void
! 	initialize(MemoryManagerType&      theManager);
  
  	static void

--- NEW FILE: XalanDOMStringReusableAllocator.hpp ---
/*
 * Copyright 1999-2004 The Apache Software Foundation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#if !defined(XALANDOMSTRINGREUSABLEALLOCATOR_INCLUDE_GUARD_12455133)
#define XALANDOMSTRINGREUSABLEALLOCATOR_INCLUDE_GUARD_12455133



// Base include file.  Must be first.
#include <xalanc/PlatformSupport/PlatformSupportDefinitions.hpp>



#include <xalanc/PlatformSupport/ReusableArenaAllocator.hpp>



#include <xalanc/XalanDOM/XalanDOMString.hpp>



XALAN_CPP_NAMESPACE_BEGIN



class XALAN_PLATFORMSUPPORT_EXPORT XalanDOMStringReusableAllocator
{
public:

	typedef XalanDOMString					data_type;
	typedef data_type::size_type			data_type_size_type;

#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
	typedef ReusableArenaBlock<data_type>	ArenaBlockType;

	typedef ReusableArenaBlock<data_type,
						   ArenaBlockType>	ArenaAllocatorType;
#else
	typedef ReusableArenaAllocator<data_type>	ArenaAllocatorType;
#endif

	typedef ArenaAllocatorType::size_type	size_type;

	enum { eDefaultBlockSize = 32 };


	/**
	 * Construct an instance that will allocate in blocks of the specified size.
	 *
	 * @param theBlockSize The block size.
	 */
	XalanDOMStringReusableAllocator(MemoryManagerType&      theManager, size_type   theBlockCount);

	~XalanDOMStringReusableAllocator();

	/**
	 * Create a XalanDOMString object.
	 * 
	 * @return reference to the new instance
	 */
	data_type&
	create();

	/**
	 * Create a XalanDOMString object.
	 * 
	 * @param theString A pointer to a character string
	 * @param theCount The number of characters in the string, or npos if the string is null-terminated.
	 *
	 * @return reference to the new instance
	 */
	data_type&
	create(
			const char*				theString,
#if defined(_MSC_VER) && (_MSC_VER <= 1300)
			// $$$ ToDo: Some strange bug in MSVC++ complains when using data_type::npos here.
			data_type_size_type		theCount = data_type_size_type(-1));
#else
	        data_type_size_type		theCount = data_type_size_type(data_type::npos));
#endif

	/**
	 * Copy constructor
	 * 
	 * @param theSource The source string for the copy
	 * @param theStartPosition The position to start in the source string.
	 * @param theCount The number of characters to copy from the source string.
	 *
	 * @return reference to the new instance
	 */
	data_type&
	create(
			const data_type&		theSource,
			data_type_size_type		theStartPosition = 0,
			data_type_size_type		theCount = data_type_size_type(data_type::npos));

	/**
	 * Create a XalanDOMString object.
	 * 
	 * @param theString A pointer to a wide character string
	 * @param theCount The number of characters in the string, or npos if the string is null-terminated.
	 *
	 * @return reference to the new instance
	 */
	data_type&
	create(
			const XalanDOMChar*		theString,
			data_type_size_type		theCount = data_type_size_type(data_type::npos));

	/**
	 * Create a XalanDOMString object.
	 *
	 * @param theCount the size of the string
	 * @param theChar the character used to initialize the string
	 *
	 * @return reference to the new instance
	 */
	data_type&
	create(
			data_type_size_type		theCount,
			XalanDOMChar			theChar);

    /*
     * Destroy a XalanDOMString object.
     *
     */
    bool
    destroy(XalanDOMString&     theDOMString)
    {
        return m_allocator.destroyObject(&theDOMString);
    }

	/**
	 * Determine if an object is owned by the allocator...
	 */
	bool
	ownsObject(const data_type*		theObject)
	{
		return m_allocator.ownsObject(theObject);
	}

	/**
	 * Delete all instance objects from allocator.	 
	 */	
	void
	reset()
	{
		m_allocator.reset();
	}

	/**
	 * Get the number of ArenaBlocks currently allocated.
	 *
	 * @return The number of blocks.
	 */
	size_type
	getBlockCount() const
	{
		return m_allocator.getBlockCount();
	}

	/**
	 * Get size of an ArenaBlock, that is, the number
	 * of objects in each block.
	 *
	 * @return The size of the block
	 */
	size_type
	getBlockSize() const
	{
		return m_allocator.getBlockSize();
	}

	/**
	 * Get a reference to the MemoryManagerType instance
	 * for this instance.
	 *
	 * @return A reference to the MemoryManagerType instance.
	 */
    MemoryManagerType&
    getMemoryManager()
    {
        return m_allocator.getMemoryManager();
    }

	/**
	 * Get a reference to the MemoryManagerType instance
	 * for this instance.
	 *
	 * @return A reference to the MemoryManagerType instance.
	 */
    const MemoryManagerType&
    getMemoryManager() const
    {
        return m_allocator.getMemoryManager();
    }

private:

	// Not implemented...
	XalanDOMStringReusableAllocator(const XalanDOMStringReusableAllocator&);

	XalanDOMStringReusableAllocator&
	operator=(const XalanDOMStringReusableAllocator&);

	// Data members...
	ArenaAllocatorType	m_allocator;
};



XALAN_CPP_NAMESPACE_END



#endif	// XALANDOMSTRINGREUSABLEALLOCATOR_INCLUDE_GUARD_12455133



More information about the GME-commit mailing list