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...@locus.apache.org on 2000/12/21 05:27:58 UTC

cvs commit: xml-xalan/c/src/XPath XString.cpp XString.hpp

dbertoni    00/12/20 20:27:57

  Modified:    c/src/XPath XString.cpp XString.hpp
  Log:
  Moved code into new base class.
  
  Revision  Changes    Path
  1.15      +9 -110    xml-xalan/c/src/XPath/XString.cpp
  
  Index: XString.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XString.cpp,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- XString.cpp	2000/11/20 20:04:31	1.14
  +++ XString.cpp	2000/12/21 04:27:57	1.15
  @@ -59,36 +59,21 @@
   
   
   
  -#include <XalanDOM/XalanText.hpp>
  +//#include <PlatformSupport/DOMStringHelper.hpp>
   
   
   
  -#include <PlatformSupport/DOMStringHelper.hpp>
  -#include <PlatformSupport/DoubleSupport.hpp>
  -
  -
  -
  -#include "ResultTreeFrag.hpp"
  -#include "XObjectTypeCallback.hpp"
  -#include "XPathExecutionContext.hpp"
  -
  -
  -
   XString::XString(const XalanDOMString&	val) :
  -	XObject(eTypeString),
  -	m_value(val),
  -	m_cachedNumberValue(0.0),
  -	m_resultTreeFrag(0)
  +	XStringBase(),
  +	m_value(val)
   {
   }
   
   
   
   XString::XString(const XalanDOMChar*	val) :
  -	XObject(eTypeString),
  -	m_value(val),
  -	m_cachedNumberValue(0.0),
  -	m_resultTreeFrag(0)
  +	XStringBase(),
  +	m_value(val)
   {
   }
   
  @@ -97,22 +82,16 @@
   XString::XString(
   			const XalanDOMChar*		val,
   			unsigned int			len) :
  -	XObject(eTypeString),
  -	m_value(val, len),
  -	m_cachedNumberValue(0.0),
  -	m_resultTreeFrag(0)
  +	XStringBase(),
  +	m_value(val, len)
   {
   }
   
   
   
   XString::XString(const XString&	source) :
  -	XObject(source),
  -	m_value(source.m_value),
  -	m_cachedNumberValue(source.m_cachedNumberValue),
  -	m_resultTreeFrag(source.m_resultTreeFrag.get() == 0 ?
  -						0 :
  -						source.m_resultTreeFrag->clone(true))
  +	XStringBase(source),
  +	m_value(source.m_value)
   {
   }
   
  @@ -136,88 +115,8 @@
   
   
   
  -XalanDOMString
  -XString::getTypeString() const
  -{
  -	return XALAN_STATIC_UCODE_STRING("#STRING");
  -}
  -
  -
  -
  -double
  -XString::num() const
  -{
  -	if (m_cachedNumberValue == 0.0)
  -	{
  -#if defined(XALAN_NO_MUTABLE)
  -		((XString*)this)->m_cachedNumberValue = DoubleSupport::toDouble(m_value);
  -#else
  -		m_cachedNumberValue = DoubleSupport::toDouble(m_value);
  -#endif
  -	}
  -
  -	return m_cachedNumberValue;
  -}
  -
  -
  -
  -bool
  -XString::boolean() const
  -{
  -	return length(m_value) > 0 ? true : false;
  -}
  -
  -
  -
   const XalanDOMString&
   XString::str() const
   {
   	return m_value;
  -}
  -
  -
  -
  -const ResultTreeFragBase&
  -XString::rtree(XPathExecutionContext&	executionContext) const
  -{
  -	if (m_resultTreeFrag.get() == 0)
  -	{
  -		XalanDocument* const	theFactory = executionContext.getDOMFactory();
  -		assert(theFactory != 0);
  -
  -		ResultTreeFrag* const	theFrag =
  -			new ResultTreeFrag(*theFactory);
  -
  -		XalanNode* const	textNode =
  -			theFactory->createTextNode(str());
  -		assert(textNode != 0);
  -
  -		theFrag->appendChild(textNode);
  -
  -#if defined(XALAN_NO_MUTABLE)
  -		((XString*)this)->m_resultTreeFrag.reset(theFrag);
  -#else
  -		m_resultTreeFrag.reset(theFrag);
  -#endif
  -	}
  -
  -	return *m_resultTreeFrag.get();
  -}
  -
  -
  -
  -void
  -XString::ProcessXObjectTypeCallback(XObjectTypeCallback&	theCallbackObject)
  -{
  -	theCallbackObject.String(*this,
  -							 str());
  -}
  -
  -
  -
  -void
  -XString::ProcessXObjectTypeCallback(XObjectTypeCallback&	theCallbackObject) const
  -{
  -	theCallbackObject.String(*this,
  -							 str());
   }
  
  
  
  1.15      +3 -45     xml-xalan/c/src/XPath/XString.hpp
  
  Index: XString.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XString.hpp,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- XString.hpp	2000/11/20 20:04:32	1.14
  +++ XString.hpp	2000/12/21 04:27:57	1.15
  @@ -64,38 +64,18 @@
   
   
   
  -#include <XalanDOM/XalanDOMString.hpp>
  -
  -
  -
  -#if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
  -#include <XPath/ResultTreeFragBase.hpp>
  -#endif
  -
  -
  -
  -#include <Include/XalanAutoPtr.hpp>
  -
  -
  -
   // Base class header file.
  -#include <XPath/XObject.hpp>
  -
  +#include <XPath/XStringBase.hpp>
   
   
  -class ResultTreeFragBase;
  -class XPathEnvSupport;
   
  -
  -
  -class XALAN_XPATH_EXPORT XString : public XObject
  +class XALAN_XPATH_EXPORT XString : public XStringBase
   {
   public:
   
   	/**
   	 * Construct an XString object from a string.
   	 * 
  -	 * @param envSupport XPath environment support class instance
   	 * @param value      source string
   	 */
   	XString(const XalanDOMString&	val);
  @@ -121,34 +101,12 @@
   #endif
   	clone(void*		theAddress = 0) const;
   
  -	virtual XalanDOMString
  -	getTypeString() const;
  -  
  -	virtual double
  -	num() const;
  -
  -	virtual bool
  -	boolean() const;
  -
   	virtual const XalanDOMString&
   	str() const;
     
  -	virtual const ResultTreeFragBase&
  -	rtree(XPathExecutionContext&	executionContext) const;
  -
  -	virtual void
  -	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject);
  -
  -	virtual void
  -	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject) const;
  -
   private:
  -
  -	const XalanDOMString						m_value;
  -
  -	mutable double								m_cachedNumberValue;
   
  -	mutable XalanAutoPtr<ResultTreeFragBase>	m_resultTreeFrag;
  +	const XalanDOMString	m_value;
   };