XPathExpressionPtr and XPathValuePtr are now classes rather than typedefs.

This will help in the moves to parameterising.
This commit is contained in:
jez_higgins 2005-08-16 11:57:23 +00:00
parent 1249293bdc
commit f423162049
4 changed files with 13 additions and 14 deletions

View file

@ -39,7 +39,11 @@ private:
XPathExpression& operator=(const XPathExpression&); XPathExpression& operator=(const XPathExpression&);
}; // class XPathExpression }; // class XPathExpression
typedef boost::shared_ptr<XPathExpression> XPathExpressionPtr; class XPathExpressionPtr : public boost::shared_ptr<XPathExpression>
{
public:
explicit XPathExpressionPtr(XPathExpression* xp) : boost::shared_ptr<XPathExpression>(xp) { }
};
class UnaryExpression class UnaryExpression
{ {

View file

@ -1,16 +1,13 @@
#ifndef ARABICA_XPATH_FUNCTION_RESOLVER_HPP #ifndef ARABICA_XPATH_FUNCTION_RESOLVER_HPP
#define ARABICA_XPATH_FUNCTION_RESOLVER_HPP #define ARABICA_XPATH_FUNCTION_RESOLVER_HPP
#include <boost/shared_ptr.hpp>
namespace Arabica namespace Arabica
{ {
namespace XPath namespace XPath
{ {
class XPathFunction; class XPathFunction;
class XPathExpression; class XPathExpressionPtr;
typedef boost::shared_ptr<XPathExpression> XPathExpressionPtr;
class UndefinedFunctionException : public std::runtime_error class UndefinedFunctionException : public std::runtime_error
{ {

View file

@ -13,11 +13,6 @@ namespace Arabica
namespace XPath namespace XPath
{ {
class XPathExpression;
typedef boost::shared_ptr<XPathExpression> XPathExpressionPtr;
class XPathValue;
typedef boost::shared_ptr<const XPathValue> XPathValuePtr;
enum ValueType enum ValueType
{ {
ANY , ANY ,
@ -122,6 +117,12 @@ private:
XPathValue& operator=(const XPathValue&); XPathValue& operator=(const XPathValue&);
}; // class XPathValue }; // class XPathValue
class XPathValuePtr : public boost::shared_ptr<const XPathValue>
{
public:
explicit XPathValuePtr(const XPathValue* v) : boost::shared_ptr<const XPathValue>(v) { }
};
const double NaN = std::sqrt(-2.0); const double NaN = std::sqrt(-2.0);
const double Zero = 0.0; const double Zero = 0.0;
const double Negative_Zero = -Zero; const double Negative_Zero = -Zero;

View file

@ -1,17 +1,14 @@
#ifndef ARABICA_XPATH_VARIABLE_RESOLVER_HPP #ifndef ARABICA_XPATH_VARIABLE_RESOLVER_HPP
#define ARABICA_XPATH_VARIABLE_RESOLVER_HPP #define ARABICA_XPATH_VARIABLE_RESOLVER_HPP
#include <boost/shared_ptr.hpp>
#include <stdexcept> #include <stdexcept>
#include "xpath_object.hpp"
namespace Arabica namespace Arabica
{ {
namespace XPath namespace XPath
{ {
class XPathValue;
typedef boost::shared_ptr<const XPathValue> XPathValuePtr;
class UnboundVariableException : public std::runtime_error class UnboundVariableException : public std::runtime_error
{ {
public: public: