arabica/include/XPath/impl/xpath_compile_context.hpp

48 lines
1.6 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
{
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;
template<class string_type, class string_adaptor> class FunctionResolver;
2005-08-04 22:42:30 +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,
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_; }
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_;
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
} // namespace impl
2005-08-04 22:42:30 +02:00
} // namespace XPath
} // namespace Arabica
#endif