#ifndef ARABICA_XPATHIC_XPATH_AST_HPP #define ARABICA_XPATHIC_XPATH_AST_HPP #include #include #include "xpath_ast_ids.hpp" namespace Arabica { namespace XPath { namespace impl { template class types { public: typedef typename string_adaptor::const_iterator str_iter_t; typedef boost::spirit::tree_match tree_match_t; typedef typename tree_match_t::tree_iterator node_iter_t; typedef boost::spirit::tree_parse_info tree_info_t; }; // types template long getNodeId(typename types::node_iter_t const& node) { return static_cast(node->value.id().to_long()); } // getNodeId template typename types::node_iter_t& skipWhitespace(typename types::node_iter_t& node) { while(getNodeId(node) == impl::S_id) ++node; return node; } // skipWhitespace } // namespace impl } // namespace XPath } // namespace Arabica #endif