dbertoni    01/01/15 18:31:28

  Modified:    c/src/XPath ResultTreeFrag.cpp ResultTreeFrag.hpp
                        ResultTreeFragBase.hpp
  Log:
  Added functions to enable re-use of ResultTreeFragment instances.
  
  Revision  Changes    Path
  1.11      +20 -2     xml-xalan/c/src/XPath/ResultTreeFrag.cpp
  
  Index: ResultTreeFrag.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/ResultTreeFrag.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ResultTreeFrag.cpp        2000/11/02 01:45:59     1.10
  +++ ResultTreeFrag.cpp        2001/01/16 02:31:28     1.11
  @@ -72,10 +72,10 @@
   
   
   
  -ResultTreeFrag::ResultTreeFrag(XalanDocument&        theOwnerDocument) :
  +ResultTreeFrag::ResultTreeFrag(XalanDocument*        theOwnerDocument) :
        ResultTreeFragBase(),
        XalanNodeList(),
  -     m_document(&theOwnerDocument)
  +     m_document(theOwnerDocument)
   {
   }
   
  @@ -107,6 +107,24 @@
   
   ResultTreeFrag::~ResultTreeFrag()
   {
  +}
  +
  +
  +
  +void
  +ResultTreeFrag::clear()
  +{
  +     m_children.clear();
  +}
  +
  +
  +
  +void
  +ResultTreeFrag::setOwnerDocument(XalanDocument*              
theOwnerDocument)
  +{
  +     m_document = theOwnerDocument;
  +
  +     clear();
   }
   
   
  
  
  
  1.12      +13 -3     xml-xalan/c/src/XPath/ResultTreeFrag.hpp
  
  Index: ResultTreeFrag.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/ResultTreeFrag.hpp,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- ResultTreeFrag.hpp        2001/01/08 18:28:23     1.11
  +++ ResultTreeFrag.hpp        2001/01/16 02:31:28     1.12
  @@ -89,7 +89,7 @@
         * 
         * @param theOwnerDocument The document used to construct result tree 
fragment
         */
  -     ResultTreeFrag(XalanDocument&   theOwnerDocument);
  +     ResultTreeFrag(XalanDocument*   theOwnerDocument = 0);
   
        /**
         * Construct a result tree fragment object from another.
  @@ -104,7 +104,17 @@
        ~ResultTreeFrag();
   
   
  +     // These interfaces are inherited from ResultTreeFragBase...
  +
  +     virtual void
  +     clear();
  +
  +     virtual void
  +     setOwnerDocument(XalanDocument*         theOwnerDocument);
  +
  +
        // These interfaces are inherited from XalanDocumentFragment...
  +
        virtual const XalanDOMString&
        getNodeName() const;
   
  @@ -218,7 +228,7 @@
        operator==(const ResultTreeFrag&        theRHS) const;
   
   
  -     XalanDocument*  m_document;
  +     XalanDocument*                                  m_document;
   
   #if defined(XALAN_NO_NAMESPACES)
        typedef vector<XalanNode*>                      NodeVectorType;
  @@ -226,7 +236,7 @@
        typedef std::vector<XalanNode*>         NodeVectorType;
   #endif
   
  -     NodeVectorType  m_children;
  +     NodeVectorType                                  m_children;
   
        static const XalanDOMString             s_emptyString;
   };
  
  
  
  1.10      +16 -0     xml-xalan/c/src/XPath/ResultTreeFragBase.hpp
  
  Index: ResultTreeFragBase.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/ResultTreeFragBase.hpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- ResultTreeFragBase.hpp    2000/11/02 01:45:59     1.9
  +++ ResultTreeFragBase.hpp    2001/01/16 02:31:28     1.10
  @@ -99,6 +99,22 @@
        ~ResultTreeFragBase();
   
   
  +     /**
  +      * Clear all of the children from the ResultTreeFrag instance.
  +      */
  +     virtual void
  +     clear() = 0;
  +
  +     /**
  +      * Set the owner document for the result tree fragment.  This will
  +      * cause all of the children to be cleared as well.
  +      *
  +      * @param theOwnerDocument The new owner document instance.
  +      */
  +     virtual void
  +     setOwnerDocument(XalanDocument*         theOwnerDocument) = 0;
  +
  +
        // These interfaces are inherited from XalanDocumentFragment...
        virtual const XalanDOMString&
        getNodeName() const = 0;
  
  
  

Reply via email to