⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cpp_defined_grammar_gen.hpp

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 HPP
字号:
/*=============================================================================    Boost.Wave: A Standard compliant C++ preprocessor library    http://www.boost.org/    Copyright (c) 2001-2008 Hartmut Kaiser. Distributed under the Boost    Software License, Version 1.0. (See accompanying file    LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)=============================================================================*/#if !defined(CPP_DEFINED_GRAMMAR_GEN_HPP_825BE9F5_98A3_400D_A97C_AD76B3B08632_INCLUDED)#define CPP_DEFINED_GRAMMAR_GEN_HPP_825BE9F5_98A3_400D_A97C_AD76B3B08632_INCLUDED#include <boost/wave/wave_config.hpp>#include <list>#include <boost/spirit/include/classic_parser.hpp>#include <boost/pool/pool_alloc.hpp>#include <boost/wave/util/unput_queue_iterator.hpp>// this must occur after all of the includes and before any code appears#ifdef BOOST_HAS_ABI_HEADERS#include BOOST_ABI_PREFIX#endif// suppress warnings about dependent classes not being exported from the dll#ifdef BOOST_MSVC#pragma warning(push)#pragma warning(disable : 4251 4231 4660)#endif///////////////////////////////////////////////////////////////////////////////namespace boost {namespace wave { namespace grammars {template <typename LexIteratorT>struct BOOST_WAVE_DECL defined_grammar_gen{    typedef typename LexIteratorT::token_type token_type;    typedef std::list<token_type, boost::fast_pool_allocator<token_type> >        token_sequence_type;//  The parse_operator_defined function is instantiated manually twice to //  simplify the explicit specialization of this template. This way the user //  has only to specify one template parameter (the lexer iterator type) to //  correctly formulate the required explicit specialization.//  This results in no code overhead, because otherwise the function would be//  generated by the compiler twice anyway.    typedef boost::wave::util::unput_queue_iterator<            typename token_sequence_type::iterator, token_type, token_sequence_type>        iterator1_type;    typedef boost::wave::util::unput_queue_iterator<            LexIteratorT, token_type, token_sequence_type>        iterator2_type;        //  parse the operator defined and return the found qualified name    static boost::spirit::classic::parse_info<iterator1_type>     parse_operator_defined (iterator1_type const &first,         iterator1_type const &last, token_sequence_type &found_qualified_name);    static boost::spirit::classic::parse_info<iterator2_type>     parse_operator_defined (iterator2_type const &first,         iterator2_type const &last, token_sequence_type &found_qualified_name);};///////////////////////////////////////////////////////////////////////////////}   // namespace grammars}   // namespace wave}   // namespace boost#ifdef BOOST_MSVC#pragma warning(pop)#endif// the suffix header occurs after all of the code#ifdef BOOST_HAS_ABI_HEADERS#include BOOST_ABI_SUFFIX#endif#endif // !defined(CPP_DEFINED_GRAMMAR_GEN_HPP_825BE9F5_98A3_400D_A97C_AD76B3B08632_INCLUDED)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -