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-17 11:10:38 +02:00
|
|
|
template<class string_type, class string_adaptor> class XPath;
|
2005-08-17 10:50:41 +02:00
|
|
|
template<class string_type, class string_adaptor> class NamespaceContext;
|
2005-08-17 11:10:38 +02:00
|
|
|
template<class string_type, class string_adaptor> class FunctionResolver;
|
2005-08-04 22:42:30 +02:00
|
|
|
|
2005-08-22 17:35:20 +02:00
|
|
|
namespace impl
|
|
|
|
{
|
|
|
|
|
2005-08-17 10:50:41 +02:00
|
|
|
template<class string_type, class string_adaptor>
|
2005-08-04 22:42:30 +02:00
|
|
|
class CompilationContext
|
|
|
|
{
|
|
|
|
public:
|
2005-08-17 10:50:41 +02:00
|
|
|
CompilationContext(const XPath<string_type, string_adaptor>& xpathCompiler,
|
|
|
|
const NamespaceContext<string_type, string_adaptor>& namespaceContext,
|
2005-08-17 11:10:38 +02:00
|
|
|
const FunctionResolver<string_type, string_adaptor>& functionResolver) :
|
2005-08-04 22:42:30 +02:00
|
|
|
xpath_(xpathCompiler),
|
|
|
|
namespaceContext_(namespaceContext),
|
|
|
|
functionResolver_(functionResolver)
|
|
|
|
{
|
|
|
|
} // CompilationContext
|
|
|
|
|
2005-08-17 10:50:41 +02:00
|
|
|
const XPath<string_type, string_adaptor>& xpath() const { return xpath_; }
|
|
|
|
const NamespaceContext<string_type, string_adaptor>& namespaceContext() const { return namespaceContext_; }
|
2005-08-17 11:10:38 +02:00
|
|
|
const FunctionResolver<string_type, string_adaptor>& functionResolver() const { return functionResolver_; }
|
2005-08-04 22:42:30 +02:00
|
|
|
|
|
|
|
private:
|
2005-08-17 10:50:41 +02:00
|
|
|
const XPath<string_type, string_adaptor>& xpath_;
|
|
|
|
const NamespaceContext<string_type, string_adaptor>& namespaceContext_;
|
2005-08-17 11:10:38 +02:00
|
|
|
const FunctionResolver<string_type, string_adaptor>& functionResolver_;
|
2005-08-04 22:42:30 +02:00
|
|
|
|
|
|
|
CompilationContext(const CompilationContext&);
|
|
|
|
CompilationContext& operator=(const CompilationContext&);
|
|
|
|
bool operator==(const CompilationContext&) const;
|
|
|
|
}; // class CompilationContext
|
|
|
|
|
2005-08-22 17:35:20 +02:00
|
|
|
} // namespace impl
|
2005-08-04 22:42:30 +02:00
|
|
|
} // namespace XPath
|
|
|
|
} // namespace Arabica
|
|
|
|
|
|
|
|
#endif
|