dbertoni    00/04/20 09:32:15

  Modified:    c/src/XPath XPathExecutionContext.hpp
                        XPathExecutionContextDefault.cpp
                        XPathExecutionContextDefault.hpp
                        XPathExpression.cpp XPathExpression.hpp
                        XPathFunctionTable.cpp
  Log:
  Fixed namespace problems.
  
  Revision  Changes    Path
  1.7       +4 -1      xml-xalan/c/src/XPath/XPathExecutionContext.hpp
  
  Index: XPathExecutionContext.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathExecutionContext.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XPathExecutionContext.hpp 2000/04/14 21:08:52     1.6
  +++ XPathExecutionContext.hpp 2000/04/20 16:32:14     1.7
  @@ -77,6 +77,7 @@
   
   
   
  +#include <XPath/Function.hpp>
   #include <XPath/MutableNodeRefList.hpp>
   
   
  @@ -103,6 +104,8 @@
   {
   public:
   
  +     typedef Function::XObjectArgVectorType  XObjectArgVectorType;
  +
        explicit
        XPathExecutionContext();
   
  @@ -250,7 +253,7 @@
        extFunction(
                        const XalanDOMString&                   theNamespace,
                        const XalanDOMString&                   extensionName, 
  -                     const std::vector<XObject*>&    argVec) = 0;
  +                     const XObjectArgVectorType&             argVec) = 0;
   
        /**
         * Get an XLocator provider keyed by node.  This gets the association
  
  
  
  1.5       +3 -3      xml-xalan/c/src/XPath/XPathExecutionContextDefault.cpp
  
  Index: XPathExecutionContextDefault.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathExecutionContextDefault.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XPathExecutionContextDefault.cpp  2000/04/14 21:08:52     1.4
  +++ XPathExecutionContextDefault.cpp  2000/04/20 16:32:14     1.5
  @@ -238,9 +238,9 @@
   
   XObject*
   XPathExecutionContextDefault::extFunction(
  -                     const XalanDOMString&                   theNamespace,
  -                     const XalanDOMString&                   extensionName, 
  -                     const std::vector<XObject*>&    argVec)
  +                     const XalanDOMString&                                   
theNamespace,
  +                     const XalanDOMString&                                   
extensionName, 
  +                     const Function::XObjectArgVectorType&   argVec)
   {
        return m_xpathEnvSupport.extFunction(*this, theNamespace, 
extensionName, argVec);
   }
  
  
  
  1.7       +1 -1      xml-xalan/c/src/XPath/XPathExecutionContextDefault.hpp
  
  Index: XPathExecutionContextDefault.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathExecutionContextDefault.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XPathExecutionContextDefault.hpp  2000/04/14 21:08:52     1.6
  +++ XPathExecutionContextDefault.hpp  2000/04/20 16:32:14     1.7
  @@ -169,7 +169,7 @@
        extFunction(
                        const XalanDOMString&                   theNamespace,
                        const XalanDOMString&                   extensionName, 
  -                     const std::vector<XObject*>&    argVec);
  +                     const XObjectArgVectorType&             argVec);
   
        virtual XLocator*
        getXLocatorFromNode(const XalanNode*    node) const;
  
  
  
  1.5       +19 -19    xml-xalan/c/src/XPath/XPathExpression.cpp
  
  Index: XPathExpression.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathExpression.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XPathExpression.cpp       2000/04/11 14:46:18     1.4
  +++ XPathExpression.cpp       2000/04/20 16:32:14     1.5
  @@ -73,8 +73,8 @@
                                XPathExpression::InitializeNodeTestSet();
   
   
  -XPathExpression::XPathExpressionException::XPathExpressionException(const 
std::string&       theMessage) :
  -     XPathException(theMessage.c_str())
  +XPathExpression::XPathExpressionException::XPathExpressionException(const 
XalanDOMString&    theMessage) :
  +     XPathException(theMessage)
   {
   }
   
  @@ -99,7 +99,7 @@
   
   
   
  -std::string
  +XalanDOMString
   XPathExpression::InvalidOpCodeException::FormatErrorMessage(int              
theOpCode)
   {
   #if !defined(XALAN_NO_NAMESPACES)
  @@ -113,9 +113,9 @@
                                 << " was detected."
                                 << '\0';
   
  -     std::string theString = theFormatter.str();
  -     delete theFormatter.str();
  -     return theString;
  +     theFormatter.freeze(false);
  +
  +     return theFormatter.str();
   }
   
   
  @@ -136,7 +136,7 @@
   
   
   
  -std::string
  +XalanDOMString
   XPathExpression::InvalidArgumentCountException::FormatErrorMessage(
                        int             theOpCode,
                        int             theExpectedCount,
  @@ -157,10 +157,10 @@
                                 << theSuppliedCount
                                 << " arguments(s) were supplied."
                                 << '\0';
  +
  +     theFormatter.freeze(false);
   
  -     std::string theString = theFormatter.str();
  -     delete theFormatter.str();
  -     return theString;
  +     return theFormatter.str();
   }
   
   
  @@ -180,7 +180,7 @@
   
   
   
  -std::string
  +XalanDOMString
   XPathExpression::InvalidArgumentException::FormatErrorMessage(
                                int             theOpCode,
                                int             theValue)
  @@ -197,10 +197,10 @@
                                 << theOpCode
                                 << "."
                                 << '\0';
  +
  +     theFormatter.freeze(false);
   
  -     std::string theString = theFormatter.str();
  -     delete theFormatter.str();
  -     return theString;
  +     return theFormatter.str();
   }
   
   
  @@ -238,9 +238,9 @@
   void
   XPathExpression::shrink()
   {
  -     m_opMap = OpCodeMapType(m_opMap);
  +     OpCodeMapType(m_opMap).swap(m_opMap);
        TokenQueueType(m_tokenQueue).swap(m_tokenQueue);
  -     m_patternMap = PatternMapType(m_patternMap);
  +     PatternMapType(m_patternMap).swap(m_patternMap);
   }
   
   
  @@ -282,9 +282,9 @@
   
   void
   XPathExpression::setOpCodeArgs(
  -                     eOpCodes                                                
                theOpCode,
  -                     OpCodeMapSizeType                                       
        theIndex,
  -                     const std::vector<OpCodeMapValueType>&  theArgs)
  +                     eOpCodes                                                
        theOpCode,
  +                     OpCodeMapSizeType                                       
theIndex,
  +                     const OpCodeMapValueVectorType&         theArgs)
   {
        // There must be at least enough space to hold the OpCode
        // and the length indicator.
  
  
  
  1.4       +10 -11    xml-xalan/c/src/XPath/XPathExpression.hpp
  
  Index: XPathExpression.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathExpression.hpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XPathExpression.hpp       2000/04/11 14:46:18     1.3
  +++ XPathExpression.hpp       2000/04/20 16:32:14     1.4
  @@ -92,13 +92,6 @@
   {
   public:
   
  -#if defined(XALAN_NO_NAMESPACES)
  -#    define XALAN_STD
  -#else
  -#    define XALAN_STD std::
  -#endif
  -
  -
        /**
         * List of operations codes.
         *
  @@ -630,7 +623,7 @@
                 * 
                 * @param theMessage string error message
                 */
  -             XPathExpressionException(const XALAN_STD string&                
theMessage);
  +             XPathExpressionException(const XalanDOMString&  theMessage);
   
                virtual~
                XPathExpressionException();
  @@ -655,7 +648,7 @@
   
        private:
   
  -             static XALAN_STD string
  +             static XalanDOMString
                FormatErrorMessage(int  theOpCode);
        };
   
  @@ -684,7 +677,7 @@
   
        private:
   
  -             static XALAN_STD string
  +             static XalanDOMString
                FormatErrorMessage(
                        int             theOpCode,
                        int             theExpectedCount,
  @@ -713,12 +706,18 @@
   
        private:
   
  -             static XALAN_STD string
  +             static XalanDOMString
                FormatErrorMessage(
                                int             theOpCode,
                                int             theValue);
        };
   
  +
  +#if defined(XALAN_NO_NAMESPACES)
  +#    define XALAN_STD
  +#else
  +#    define XALAN_STD std::
  +#endif
   
        typedef XALAN_STD vector<int>                           OpCodeMapType;
        typedef XALAN_STD vector<XObject*>                      TokenQueueType;
  
  
  
  1.5       +7 -3      xml-xalan/c/src/XPath/XPathFunctionTable.cpp
  
  Index: XPathFunctionTable.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathFunctionTable.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XPathFunctionTable.cpp    2000/04/11 14:46:19     1.4
  +++ XPathFunctionTable.cpp    2000/04/20 16:32:14     1.5
  @@ -236,9 +236,13 @@
   {
        try
        {
  -             std::for_each(m_FunctionCollection.begin(),
  -                                       m_FunctionCollection.end(),
  -                                       DeleteFunctorType());
  +#if !defined(XALAN_NO_NAMESPACES)
  +             using std::for_each;
  +#endif
  +
  +             for_each(m_FunctionCollection.begin(),
  +                              m_FunctionCollection.end(),
  +                              DeleteFunctorType());
        }
        catch(...)
        {
  
  
  

Reply via email to