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;
   };
   
   
  
  
  

Reply via email to