arabica/XPath/impl/xpath_compile_context.hpp

44 lines
1.3 KiB
C++
Raw Normal View History

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