auriemma    00/10/13 14:21:01

  Modified:    c/src/XPath XObjectFactory.hpp XObjectFactoryDefault.cpp
                        XObjectFactoryDefault.hpp XPathFactory.hpp
                        XPathFactoryDefault.cpp XPathFactoryDefault.hpp
  Log:
  Integrated block allocator support for XNumber, XNodeSet, XString and 
XResultTreeFrag.
  
  Revision  Changes    Path
  1.13      +14 -31    xml-xalan/c/src/XPath/XObjectFactory.hpp
  
  Index: XObjectFactory.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XObjectFactory.hpp,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- XObjectFactory.hpp        2000/09/19 14:56:31     1.12
  +++ XObjectFactory.hpp        2000/10/13 21:20:50     1.13
  @@ -129,98 +129,81 @@
        /**
         * Create a boolean XObject from a boolean value.
         * 
  -      * @param theValue  value used to create object
  -      * @param fOptimize true to use static objects rather than creating new
  -      *                  instances, default true
  +      * @param theValue  value used to create object  
         * @return pointer to new object
         */
        virtual XObject*
        createBoolean(
  -                     bool    theValue,
  -                     bool    fOptimize = true) = 0;
  +                     bool    theValue) = 0;
   
        /**
         * Create a node set XObject from a node list.
         * 
         * @param theValue  value used to create object.  theValue will be 
owned by the new XObject.
  -      * @param fOptimize not used
         * @return pointer to new object
         */
        virtual XObject*
        createNodeSet(
  -                     BorrowReturnMutableNodeRefList&         theValue,
  -                     bool                                                    
        fOptimize = true) = 0;
  +                     BorrowReturnMutableNodeRefList&         theValue) = 0;
   
        /**
         * Create a null XObject.
         * 
  -      * @param theValue  value used to create object
  -      * @param fOptimize true to use static objects rather than creating new
  -      *                  instances, default true
  +      * @param theValue  value used to create object 
         * @return pointer to new object
         */
        virtual XObject*
  -     createNull(bool fOptimize = true) = 0;
  +     createNull() = 0;
   
        /**
         * Create a numeric XObject from a number.
         * 
  -      * @param theValue  value used to create object
  -      * @param fOptimize not used
  +      * @param theValue  value used to create object 
         * @return pointer to new object
         */
        virtual XObject*
        createNumber(
  -                     double  theValue,
  -                     bool    fOptimize = true) = 0;
  +                     double  theValue) = 0;
   
        /**
         * Create a string XObject from a string.
         * 
  -      * @param theValue  value used to create object
  -      * @param fOptimize not used
  +      * @param theValue  value used to create object  
         * @return pointer to new object
         */
        virtual XObject*
        createString(
  -                     const XalanDOMString&   theValue,
  -                     bool                                    fOptimize = 
true) = 0;
  +                     const XalanDOMString&   theValue) = 0;
   
        /**
         * Create an "unknown" XObject from a string.
         * 
  -      * @param theValue  value used to create object
  -      * @param fOptimize not used
  +      * @param theValue  value used to create object  
         * @return pointer to new object
         */
        virtual XObject*
        createUnknown(
  -                     const XalanDOMString&   theValue,
  -                     bool                                    fOptimize = 
true) = 0;
  +                     const XalanDOMString&   theValue) = 0;
   
        /**
         * Create a result tree fragment XObject from a result tree fragment.
         * 
  -      * @param theValue  value used to create object.  theValue will be 
owned by the new XObject.
  -      * @param fOptimize not used
  +      * @param theValue  value used to create object.  theValue will be 
owned by the new XObject.    
         * @return pointer to new object
         */
        virtual XObject*
        createResultTreeFrag(
  -                     ResultTreeFragBase*             theValue,
  -                     bool                                    fOptimize = 
true) = 0;
  +                     ResultTreeFragBase*             theValue) = 0;
   
        /**
         * Create a span XObject from a node list.
         * 
         * @param theValue  value used to create object.  The new object will 
own the pointer.
  -      * @param fOptimize not used
         * @return pointer to new object
         */
        virtual XObject*
        createSpan(
  -                     BorrowReturnMutableNodeRefList&         theValue,
  -                     bool                                                    
        fOptimize = true) = 0;
  +                     BorrowReturnMutableNodeRefList&         theValue) = 0;
   
        /**
         *
  
  
  
  1.15      +171 -134  xml-xalan/c/src/XPath/XObjectFactoryDefault.cpp
  
  Index: XObjectFactoryDefault.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XObjectFactoryDefault.cpp,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- XObjectFactoryDefault.cpp 2000/09/19 14:56:33     1.14
  +++ XObjectFactoryDefault.cpp 2000/10/13 21:20:51     1.15
  @@ -80,20 +80,18 @@
   
   
   
  -XObjectFactoryDefault::XObjectFactoryDefault() :
  +XObjectFactoryDefault::XObjectFactoryDefault(
  +                     unsigned int            theXStringBlockSize,
  +                     unsigned int            theXNumberBlockSize,
  +                     unsigned int            theXNodeSetBlockSize,
  +                     unsigned int            theXResultTreeFragBlockSize) :  
        XObjectFactory(),
        m_xobjects(),
  -     m_XNull(new XNull)
  -#if !defined(NDEBUG)
  -     , m_totalBooleanInstanceCount(0),
  -     m_totalNodeSetInstanceCount(0),
  -     m_totalNullInstanceCount(1),
  -     m_totalNumberInstanceCount(0),
  -     m_totalStringInstanceCount(0),
  -     m_totalUnknownInstanceCount(0),
  -     m_totalResultTreeFragInstanceCount(0),
  -     m_totalSpanInstanceCount(0)
  -#endif
  +     m_XNull(new XNull),
  +     m_xstringAllocator(theXStringBlockSize),
  +     m_xnumberAllocator(theXNumberBlockSize),
  +     m_xnodesetAllocator(theXNodeSetBlockSize),
  +     m_xresultTreeFragAllocator(theXResultTreeFragBlockSize)
   {
   }
   
  @@ -113,33 +111,86 @@
   {
        assert(theXObject != 0);
   
  -     if (theXObject == &theTrueBoolean ||
  -             theXObject == &theFalseBoolean ||
  -             theXObject == m_XNull.get())
  -     {
  -             return true;
  -     }
  -     else
  +     bool bStatus = false;   
  +
  +     const XObject::eObjectType      theType = theXObject->getType();
  +
  +     switch(theType)
        {
  -             const CollectionType::iterator  i =
  -                             m_xobjects.find(theXObject);
  +     case XObject::eTypeBoolean:
  +     case XObject::eTypeNull:
  +     {               
  +             bStatus = true;
  +     }       
  +     case XObject::eTypeString:
  +             {
  +                     XString* const  theXString =
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +                             (XString*)theXObject;
  +#else
  +                             
static_cast<XString*>(const_cast<XObject*>(theXObject));
  +#endif
   
  -             if (i != m_xobjects.end())
  +                     bStatus = m_xstringAllocator.destroy(theXString);
  +             }
  +             break;
  +     case  XObject::eTypeNumber:
                {
  -                     if (fInReset == false)
  -                     {
  -                             m_xobjects.erase(i);
  -                     }
  +                     XNumber* const  theXNumber =
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +                             (XNumber*)theXObject;
  +#else
  +                             
static_cast<XNumber*>(const_cast<XObject*>(theXObject));
  +#endif
  +
  +                     bStatus = m_xnumberAllocator.destroy(theXNumber);
  +             }
  +             break;
  +     case XObject::eTypeNodeSet:
  +             {
  +                     XNodeSet* const theXNodeSet =
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +                             (XNodeSet*)theXObject;
  +#else
  +                             
static_cast<XNodeSet*>(const_cast<XObject*>(theXObject));
  +#endif
   
  -                     deleteObject(theXObject);
  +                     bStatus = m_xnodesetAllocator.destroy(theXNodeSet);
  +             }
  +             break;
  +     case XObject::eTypeResultTreeFrag:      
  +             {
  +                     XResultTreeFrag* const  theXResultTreeFrag =    
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +                             (XResultTreeFrag*)theXObject;
  +#else
  +                             
static_cast<XResultTreeFrag*>(const_cast<XObject*>(theXObject));        
  +#endif
   
  -                     return true;
  +                     bStatus = 
m_xresultTreeFragAllocator.destroy(theXResultTreeFrag);
                }
  -             else
  +             break;
  +     default:
                {
  -                     return false;
  +                     const CollectionType::iterator  i =
  +                     m_xobjects.find(theXObject);
  +
  +                     if (i != m_xobjects.end())
  +                     {
  +                             if (fInReset == false)
  +                             {
  +                                     m_xobjects.erase(i);
  +                             }
  +
  +                             deleteObject(theXObject);
  +
  +                             bStatus = true;
  +                     }
                }
  +             break;
        }
  +     
  +     return bStatus;
   }
   
   
  @@ -147,181 +198,159 @@
   XObject*
   XObjectFactoryDefault::clone(const XObject&          theXObject)
   {
  +     XObject*        theClone = 0;
  +
        if (&theXObject == &theTrueBoolean)
        {
  -             return &theTrueBoolean;
  +             theClone = &theTrueBoolean;
        }
        else if (&theXObject == &theFalseBoolean)
        {
  -             return &theFalseBoolean;
  +             theClone = &theFalseBoolean;
        }
        else if (&theXObject == m_XNull.get())
        {
  -             return m_XNull.get();
  +             theClone = m_XNull.get();
        }
        else
        {
  -             XObject* const  theClone = theXObject.clone();
  -
  -             m_xobjects.insert(theClone);
  +             const XObject::eObjectType      theType = theXObject.getType(); 
        
   
  -             return theClone;
  -     }
  -}
  +             switch(theType)
  +             {
  +             
  +             case XObject::eTypeString:
  +                     theClone = m_xstringAllocator.clone(
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +                     (const XString&)theXObject);
  +#else                        
  +                     static_cast<const XString&>(theXObject));
  +#endif
   
  +                     break;
  +             case  XObject::eTypeNumber:
  +                     theClone = m_xnumberAllocator.clone(
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +                     (const XNumber&)theXObject);
  +#else                        
  +                     static_cast<const XNumber&>(theXObject));
  +#endif
   
  +                     break;
  +             case XObject::eTypeNodeSet:
  +                     theClone = m_xnodesetAllocator.clone(
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +                     (const XNodeSet&)theXObject);
  +#else                        
  +                     static_cast<const XNodeSet&>(theXObject));
  +#endif
   
  -XObject*
  -XObjectFactoryDefault::createBoolean(
  -                     bool    theValue,
  -                     bool    fOptimize)
  -{
  -     if (fOptimize == true)
  -     {
  -             return theValue == true ? &theTrueBoolean : &theFalseBoolean;
  -     }
  -     else
  -     {
  -             XBoolean* const         theBoolean = new XBoolean(theValue);
  +                     break;
  +             case XObject::eTypeResultTreeFrag:
  +                     theClone = m_xresultTreeFragAllocator.clone(
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +                     (const XResultTreeFrag&)theXObject);
  +#else                        
  +                     static_cast<const XResultTreeFrag&>(theXObject));
  +#endif
   
  -             m_xobjects.insert(theBoolean);
  +                     break;
  +             default:
  +                     XObject* const  theClone = theXObject.clone();
   
  -#if !defined(NDEBUG)
  -             ++m_totalBooleanInstanceCount;
  -#endif
  -             return theBoolean;
  +                     m_xobjects.insert(theClone);
  +                     break;
  +             }
        }
  +
  +     return theClone;
   }
   
   
   
   XObject*
  -XObjectFactoryDefault::createNodeSet(
  -                     BorrowReturnMutableNodeRefList&         theValue,
  -                     bool                                                    
        /* fOptimize */)
  +XObjectFactoryDefault::createBoolean(
  +                     bool    theValue)
   {
  -     XNodeSet* const         theXNodeSet = new XNodeSet(theValue);
  +     return theValue == true ? &theTrueBoolean : &theFalseBoolean;   
  +}
   
  -     m_xobjects.insert(theXNodeSet);
   
  -#if !defined(NDEBUG)
  -     ++m_totalNodeSetInstanceCount;
  -#endif
   
  -     return theXNodeSet;
  +XObject*
  +XObjectFactoryDefault::createNull()
  +{    
  +     return m_XNull.get();   
   }
   
   
   
   XObject*
  -XObjectFactoryDefault::createNull(bool               fOptimize)
  +XObjectFactoryDefault::createUnknown(
  +                     const XalanDOMString&   theValue)
   {
  -     if (fOptimize == true)
  -     {
  -             return m_XNull.get();
  -     }
  -     else
  -     {
  -             XNull* const    theXNull = new XNull();
  -
  -             m_xobjects.insert(theXNull);
  +     XUnknown* const theXUnknown = new XUnknown(theValue);
   
  -#if !defined(NDEBUG)
  -     ++m_totalNullInstanceCount;
  -#endif
  +     m_xobjects.insert(theXUnknown);
   
  -             return theXNull;
  -     }
  +     return theXUnknown;
   }
   
   
   
   XObject*
  -XObjectFactoryDefault::createNumber(
  -                     double  theValue,
  -                     bool    /* fOptimize */)
  +XObjectFactoryDefault::createSpan(
  +                     BorrowReturnMutableNodeRefList&         theValue)
   {
  -     XNumber*        theXNumber = new XNumber(theValue);
  -
  -     m_xobjects.insert(theXNumber);
  +     XSpan* const    theXSpan = new XSpan(theValue);
   
  -#if !defined(NDEBUG)
  -     ++m_totalNumberInstanceCount;
  -#endif
  +     m_xobjects.insert(theXSpan);
   
  -     return theXNumber;
  +     return theXSpan;
   }
   
   
   
   XObject*
  -XObjectFactoryDefault::createString(
  -                     const XalanDOMString&   theValue,
  -                     bool                                    /* fOptimize */)
  +XObjectFactoryDefault::createNumber(
  +                     double  theValue)
   {
  -     XString* const  theXString = new XString(theValue);
  -
  -     m_xobjects.insert(theXString);
  +     XNumber*        theXNumber = m_xnumberAllocator.createNumber(theValue);
   
  -#if !defined(NDEBUG)
  -     ++m_totalStringInstanceCount;
  -#endif
  -
  -     return theXString;
  +     return theXNumber;
   }
   
   
   
   XObject*
  -XObjectFactoryDefault::createUnknown(
  -                     const XalanDOMString&   theValue,
  -                     bool                                    /* fOptimize */)
  +XObjectFactoryDefault::createNodeSet(
  +                     BorrowReturnMutableNodeRefList&         theValue)
   {
  -     XUnknown* const theXUnknown = new XUnknown(theValue);
  +     XNodeSet* const         theXNodeSet = 
m_xnodesetAllocator.createNodeSet(theValue);
   
  -     m_xobjects.insert(theXUnknown);
  -
  -#if !defined(NDEBUG)
  -     ++m_totalUnknownInstanceCount;
  -#endif
  -
  -     return theXUnknown;
  +     return theXNodeSet;
   }
   
   
   
   XObject*
  -XObjectFactoryDefault::createResultTreeFrag(
  -                     ResultTreeFragBase*             theValue,
  -                     bool                                    /* fOptimize */)
  +XObjectFactoryDefault::createString(
  +                     const XalanDOMString&   theValue)
   {
  -     XResultTreeFrag* const  theResultTreeFrag = new 
XResultTreeFrag(theValue);
  -
  -     m_xobjects.insert(theResultTreeFrag);
  -
  -#if !defined(NDEBUG)
  -     ++m_totalResultTreeFragInstanceCount;
  -#endif
  +     XString* const  theXString = m_xstringAllocator.createString(theValue);
   
  -     return theResultTreeFrag;
  +     return theXString;
   }
   
   
   
   XObject*
  -XObjectFactoryDefault::createSpan(
  -                     BorrowReturnMutableNodeRefList&         theValue,
  -                     bool                                                    
        /* fOptimize */)
  +XObjectFactoryDefault::createResultTreeFrag(
  +                     ResultTreeFragBase*             theValue)
   {
  -     XSpan* const    theXSpan = new XSpan(theValue);
  -
  -     m_xobjects.insert(theXSpan);
  -
  -#if !defined(NDEBUG)
  -     ++m_totalSpanInstanceCount;
  -#endif
  +     XResultTreeFrag* const  theResultTreeFrag =  
m_xresultTreeFragAllocator.create(theValue);
   
  -     return theXSpan;
  +     return theResultTreeFrag;
   }
   
   
  @@ -332,6 +361,14 @@
   #if !defined(XALAN_NO_NAMESPACES)
        using std::for_each;
   #endif
  +
  +     m_xstringAllocator.reset();
  +         
  +     m_xnumberAllocator.reset();
  +
  +     m_xnodesetAllocator.reset();
  +
  +     m_xresultTreeFragAllocator.reset();
   
        for_each(m_xobjects.begin(),
                         m_xobjects.end(),
  
  
  
  1.13      +38 -97    xml-xalan/c/src/XPath/XObjectFactoryDefault.hpp
  
  Index: XObjectFactoryDefault.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XObjectFactoryDefault.hpp,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- XObjectFactoryDefault.hpp 2000/08/22 20:20:47     1.12
  +++ XObjectFactoryDefault.hpp 2000/10/13 21:20:52     1.13
  @@ -73,6 +73,13 @@
   
   
   
  +#include <XPath/XStringAllocator.hpp>
  +#include <XPath/XNumberAllocator.hpp>
  +#include <XPath/XNodeSetAllocator.hpp>
  +#include <XPath/XResultTreeFragAllocator.hpp>
  +
  +
  +
   #if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
   #include <XPath/XNull.hpp>
   #endif
  @@ -94,16 +101,32 @@
   {
   public:
   
  +     // Default block size for strings.
  +     enum
  +     {
  +             eDefaultXStringBlockSize = 10,
  +             eDefaultXNumberBlockSize = 10,
  +             eDefaultXNodeSetBlockSize = 10,
  +             eDefaultXResultTreeFragBlockSize = 10
  +     };
  +     
        /**
         * Construct a factory for creating XObjects.
  +      * 
  +      * @param theXStringBlockSize allacation block size
  +      * @param theXNumberBlockSize allacation block size
  +      * @param theXNodeSetBlockSize allacation block size
         */
        explicit
  -     XObjectFactoryDefault();
  +     XObjectFactoryDefault(
  +                     unsigned int            theXStringBlockSize = 
eDefaultXStringBlockSize,
  +                     unsigned int            theXNumberBlockSize = 
eDefaultXNumberBlockSize,
  +                     unsigned int            theXNodeSetBlockSize = 
eDefaultXNodeSetBlockSize,
  +                     unsigned int            theXResultTreeFragBlockSize = 
eDefaultXResultTreeFragBlockSize); 
   
        virtual
        ~XObjectFactoryDefault();
   
  -
        // These methods are inherited from XObjectFactory ...
   
        virtual void
  @@ -114,41 +137,34 @@
   
        virtual XObject*
        createBoolean(
  -                     bool    theValue,
  -                     bool    fOptimize = true);
  +                     bool    theValue);
   
        virtual XObject*
        createNodeSet(
  -                     BorrowReturnMutableNodeRefList&         theValue,
  -                     bool                                                    
        fOptimize = true);
  +                     BorrowReturnMutableNodeRefList&         theValue);
   
        virtual XObject*
  -     createNull(bool fOptimize = true);
  +     createNull();
   
        virtual XObject*
        createNumber(
  -                     double  theValue,
  -                     bool    fOptimize = true);
  +                     double  theValue);
   
        virtual XObject*
        createString(
  -                     const XalanDOMString&   theValue,
  -                     bool                                    fOptimize = 
true);
  +                     const XalanDOMString&   theValue);
   
        virtual XObject*
        createUnknown(
  -                     const XalanDOMString&   theValue,
  -                     bool                                    fOptimize = 
true);
  +                     const XalanDOMString&   theValue);
   
        virtual XObject*
        createResultTreeFrag(
  -                     ResultTreeFragBase*             theValue,
  -                     bool                                    fOptimize = 
true);
  +                     ResultTreeFragBase*             theValue);
   
        virtual XObject*
        createSpan(
  -                     BorrowReturnMutableNodeRefList&         theValue,
  -                     bool                                                    
        fOptimize = true);
  +                     BorrowReturnMutableNodeRefList&         theValue);
   
   #if defined(XALAN_NO_NAMESPACES)
        typedef set<const XObject*, less<const XObject*> >      CollectionType;
  @@ -156,69 +172,6 @@
        typedef std::set<const XObject*>        CollectionType;
   #endif
   
  -     /**
  -      * Retrieve the number of instances in existence
  -      * 
  -      * @return number of objects
  -      */
  -     CollectionType::size_type
  -     instanceCount() const
  -     {
  -             return m_xobjects.size();
  -     }
  -
  -#if !defined(NDEBUG)
  -
  -     unsigned long
  -     getTotalBooleanInstanceCount() const
  -     {
  -             return m_totalBooleanInstanceCount;
  -     }
  -
  -     unsigned long
  -     getTotalNodeSetInstanceCount() const
  -     {
  -             return m_totalNodeSetInstanceCount;
  -     }
  -
  -     unsigned long
  -     getTotalNullInstanceCount() const
  -     {
  -             return m_totalNullInstanceCount;
  -     }
  -
  -     unsigned long
  -     getTotalNumberInstanceCount() const
  -     {
  -             return m_totalNumberInstanceCount;
  -     }
  -
  -     unsigned long
  -     getTotalStringInstanceCount() const
  -     {
  -             return m_totalStringInstanceCount;
  -     }
  -
  -     unsigned long
  -     getTotalUnknownInstanceCount() const
  -     {
  -             return m_totalUnknownInstanceCount;
  -     }
  -
  -     unsigned long
  -     getTotalResultTreeFragInstanceCount() const
  -     {
  -             return m_totalResultTreeFragInstanceCount;
  -     }
  -
  -     unsigned long
  -     getTotalSpanInstanceCount() const
  -     {
  -             return m_totalSpanInstanceCount;
  -     }
  -
  -#endif
  -     
   protected:
   
        // These methods are inherited from Factory ...
  @@ -244,26 +197,14 @@
        CollectionType                          m_xobjects;
   
        const XalanAutoPtr<XNull>       m_XNull;
  -
  -#if !defined(NDEBUG)
  -
  -     unsigned long           m_totalBooleanInstanceCount;
  -
  -     unsigned long           m_totalNodeSetInstanceCount;
  -
  -     unsigned long           m_totalNullInstanceCount;
   
  -     unsigned long           m_totalNumberInstanceCount;
  +     XStringAllocator                        m_xstringAllocator;
  +         
  +     XNumberAllocator                        m_xnumberAllocator;
   
  -     unsigned long           m_totalStringInstanceCount;
  +     XNodeSetAllocator                       m_xnodesetAllocator;
   
  -     unsigned long           m_totalUnknownInstanceCount;
  -
  -     unsigned long           m_totalResultTreeFragInstanceCount;
  -
  -     unsigned long           m_totalSpanInstanceCount;
  -
  -#endif
  +     XResultTreeFragAllocator        m_xresultTreeFragAllocator;
   };
   
   
  
  
  
  1.9       +1 -2      xml-xalan/c/src/XPath/XPathFactory.hpp
  
  Index: XPathFactory.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathFactory.hpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- XPathFactory.hpp  2000/09/19 14:56:39     1.8
  +++ XPathFactory.hpp  2000/10/13 21:20:52     1.9
  @@ -106,10 +106,9 @@
         * Create an XPath.  The XPath instance is owned by the factory, and 
should
         * not be deleted.  The factory will manage the lifetime.
         *
  -      * @param fOptimize true to optimize management of objects
         */
        virtual XPath*
  -     create(bool             fOptimize = true) = 0;
  +     create() = 0;
   
        /**
         *
  
  
  
  1.9       +1 -1      xml-xalan/c/src/XPath/XPathFactoryDefault.cpp
  
  Index: XPathFactoryDefault.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathFactoryDefault.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- XPathFactoryDefault.cpp   2000/09/19 14:56:40     1.8
  +++ XPathFactoryDefault.cpp   2000/10/13 21:20:53     1.9
  @@ -133,7 +133,7 @@
   
   
   XPath*
  -XPathFactoryDefault::create(bool     /* fOptimize */)
  +XPathFactoryDefault::create()
   {
        XPath* const    theXPath = new XPath;
   
  
  
  
  1.9       +1 -1      xml-xalan/c/src/XPath/XPathFactoryDefault.hpp
  
  Index: XPathFactoryDefault.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathFactoryDefault.hpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- XPathFactoryDefault.hpp   2000/08/15 19:43:19     1.8
  +++ XPathFactoryDefault.hpp   2000/10/13 21:20:53     1.9
  @@ -92,7 +92,7 @@
        // Inherited from XPathFactory...
   
        virtual XPath*
  -     create(bool             fOptimize = true);
  +     create();
   
   
   #if defined(XALAN_NO_NAMESPACES)
  
  
  

Reply via email to