You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by db...@apache.org on 2002/03/09 09:41:09 UTC

cvs commit: xml-xalan/c/src/XercesParserLiaison XercesToXalanNodeMap.cpp XercesToXalanNodeMap.hpp

dbertoni    02/03/09 00:41:09

  Modified:    c/src/XercesParserLiaison XercesToXalanNodeMap.cpp
                        XercesToXalanNodeMap.hpp
  Log:
  Moved some stuff into header files for xlC 3.6.6 and explicit instantiation.
  
  Revision  Changes    Path
  1.7       +0 -44     xml-xalan/c/src/XercesParserLiaison/XercesToXalanNodeMap.cpp
  
  Index: XercesToXalanNodeMap.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XercesParserLiaison/XercesToXalanNodeMap.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XercesToXalanNodeMap.cpp	23 Feb 2002 04:16:42 -0000	1.6
  +++ XercesToXalanNodeMap.cpp	9 Mar 2002 08:41:09 -0000	1.7
  @@ -95,21 +95,6 @@
   	NodeImpl* const		theImpl = XercesDOM_NodeHack::getImpl(theXercesNode);
   
   	m_xercesMap.insert(XercesNodeMapType::value_type(theImpl, theXalanNode));
  -
  -	// Keeping two-way indexes is very memory consumptive, and we don't
  -	// need it now...
  -#if defined(XERCES_PARSER_LIASON_FAST_TWO_WAY_MAPPING)
  -	try
  -	{
  -		m_xalanMap.insert(XalanNodeMapType::value_type(theXalanNode, theImpl));
  -	}
  -	catch(...)
  -	{
  -		m_xercesMap.erase(m_xercesMap.find(theImpl));
  -
  -		throw;
  -	}
  -#endif
   }
   
   
  @@ -123,33 +108,6 @@
   
   
   
  -#if !defined(XERCES_PARSER_LIASON_FAST_TWO_WAY_MAPPING)
  -
  -// I should be able to make this out of a
  -// bunch of compose<> and select2nd<> adapters...
  -
  -class NameMapEqualsFunctor
  -{
  -public:
  -
  -	NameMapEqualsFunctor(const XalanNode*	theXalanNode) :
  -		m_value(theXalanNode)
  -	{
  -	}
  -
  -	bool
  -	operator()(const XercesToXalanNodeMap::XercesNodeMapType::value_type&	thePair) const
  -	{
  -		return m_value == thePair.second;
  -	}
  -
  -private:
  -
  -	const XalanNode*	m_value;
  -};
  -
  -
  -
   NodeImpl*
   XercesToXalanNodeMap::getNodeImpl(const XalanNode*	theXalanNode) const
   {
  @@ -171,5 +129,3 @@
   		return 0;
   	}
   }
  -
  -#endif
  
  
  
  1.6       +24 -25    xml-xalan/c/src/XercesParserLiaison/XercesToXalanNodeMap.hpp
  
  Index: XercesToXalanNodeMap.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XercesParserLiaison/XercesToXalanNodeMap.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XercesToXalanNodeMap.hpp	23 Feb 2002 04:02:11 -0000	1.5
  +++ XercesToXalanNodeMap.hpp	9 Mar 2002 08:41:09 -0000	1.6
  @@ -84,6 +84,16 @@
   {
   public:
   
  +#if defined(XALAN_NO_NAMESPACES)
  +	typedef map<XalanNode*, NodeImpl*, less<XalanNode*> >	XalanNodeMapType;
  +
  +	typedef map<NodeImpl*, XalanNode*, less<NodeImpl*> >	XercesNodeMapType;
  +#else
  +	typedef std::map<XalanNode*, NodeImpl*>	XalanNodeMapType;
  +
  +	typedef std::map<NodeImpl*, XalanNode*>	XercesNodeMapType;
  +#endif
  +
   	XercesToXalanNodeMap();
   
   	~XercesToXalanNodeMap();
  @@ -124,30 +134,28 @@
   		return XercesDOM_NodeHack(getNodeImpl(theXalanNode));
   	}
   
  -#if defined(XERCES_PARSER_LIASON_FAST_TWO_WAY_MAPPING)
  -
   	NodeImpl*
  -	getNodeImpl(const XalanNode*	theXalanNode) const
  +	getNodeImpl(const XalanNode*	theXalanNode) const;
  +
  +	class NameMapEqualsFunctor
   	{
  -		const XalanNodeMapType::const_iterator	i =
  -				m_xalanMap.find(theXalanNode);
  +	public:
   
  -		if (i == m_xalanMap.end())
  +		NameMapEqualsFunctor(const XalanNode*	theXalanNode) :
  +			m_value(theXalanNode)
   		{
  -			return 0;
   		}
  -		else
  +
  +		bool
  +		operator()(const XercesNodeMapType::value_type&		thePair) const
   		{
  -			return (*i).second;
  +			return m_value == thePair.second;
   		}
  -	}
   
  -#else
  +	private:
   
  -	NodeImpl*
  -	getNodeImpl(const XalanNode*	theXalanNode) const;
  -
  -#endif
  +		const XalanNode*	m_value;
  +	};
   
   	NodeImpl*
   	getNodeImpl(const DOM_Node&		theXercesNode) const
  @@ -155,19 +163,10 @@
   		return XercesDOM_NodeHack::getImpl(theXercesNode);
   	}
   
  -#if defined(XALAN_NO_NAMESPACES)
  -	typedef map<XalanNode*, NodeImpl*, less<XalanNode*> >	XalanNodeMapType;
  -
  -	typedef map<NodeImpl*, XalanNode*, less<NodeImpl*> >	XercesNodeMapType;
  -#else
  -	typedef std::map<XalanNode*, NodeImpl*>	XalanNodeMapType;
  -
  -	typedef std::map<NodeImpl*, XalanNode*>	XercesNodeMapType;
  -#endif
  -
   private:
   
   	XalanNodeMapType	m_xalanMap;
  +
   	XercesNodeMapType	m_xercesMap;
   };
   
  
  
  

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