2005-08-04 22:42:30 +02:00
|
|
|
#ifndef ARABICA_XPATH_COMPILE_CONTEXT_HPP
|
|
|
|
#define ARABICA_XPATH_COMPILE_CONTEXT_HPP
|
|
|
|
|
|
|
|
namespace Arabica
|
|
|
|
{
|
|
|
|
namespace XPath
|
|
|
|
{
|
|
|
|
|
2005-08-16 22:59:04 +02:00
|
|
|
template<class string_type, class string_adaptor = Arabica::default_string_adaptor<string_type> > class XPath;
|
2005-08-04 22:42:30 +02:00
|
|
|
class NamespaceContext;
|
|
|
|
class FunctionResolver;
|
|
|
|
|
2005-08-16 22:59:04 +02:00
|
|
|
template<class string_type>
|
2005-08-04 22:42:30 +02:00
|
|
|
class CompilationContext
|
|
|
|
{
|
|
|
|
public:
|
2005-08-16 22:59:04 +02:00
|
|
|
CompilationContext(const XPath<string_type>& xpathCompiler,
|
2005-08-04 22:42:30 +02:00
|
|
|
const NamespaceContext& namespaceContext,
|
|
|
|
const FunctionResolver& functionResolver) :
|
|
|
|
xpath_(xpathCompiler),
|
|
|
|
namespaceContext_(namespaceContext),
|
|
|
|
functionResolver_(functionResolver)
|
|
|
|
{
|
|
|
|
} // CompilationContext
|
|
|
|
|
2005-08-16 22:59:04 +02:00
|
|
|
const XPath<string_type>& xpath() const { return xpath_; }
|
2005-08-04 22:42:30 +02:00
|
|
|
const NamespaceContext& namespaceContext() const { return namespaceContext_; }
|
|
|
|
const FunctionResolver& functionResolver() const { return functionResolver_; }
|
|
|
|
|
|
|
|
private:
|
2005-08-16 22:59:04 +02:00
|
|
|
const XPath<string_type>& xpath_;
|
2005-08-04 22:42:30 +02:00
|
|
|
const NamespaceContext& namespaceContext_;
|
|
|
|
const FunctionResolver& functionResolver_;
|
|
|
|
|
|
|
|
CompilationContext(const CompilationContext&);
|
|
|
|
CompilationContext& operator=(const CompilationContext&);
|
|
|
|
bool operator==(const CompilationContext&) const;
|
|
|
|
}; // class CompilationContext
|
|
|
|
|
|
|
|
} // namespace XPath
|
|
|
|
} // namespace Arabica
|
|
|
|
|
|
|
|
#endif
|