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&);
}; // 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
{

View file

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

View file

@ -13,11 +13,6 @@ namespace Arabica
namespace XPath
{
class XPathExpression;
typedef boost::shared_ptr<XPathExpression> XPathExpressionPtr;
class XPathValue;
typedef boost::shared_ptr<const XPathValue> XPathValuePtr;
enum ValueType
{
ANY ,
@ -122,6 +117,12 @@ private:
XPathValue& operator=(const 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 Zero = 0.0;
const double Negative_Zero = -Zero;

View file

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