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

📄 actions_class.cpp

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 CPP
字号:
/*=============================================================================    Copyright (c) 2002 2004 2006 Joel de Guzman    Copyright (c) 2004 Eric Niebler    Copyright (c) 2005 Thomas Guest    http://spirit.sourceforge.net/    Use, modification and distribution is subject to 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)=============================================================================*/#include "./actions_class.hpp"#include "./markups.hpp"#if (defined(BOOST_MSVC) && (BOOST_MSVC <= 1310))#pragma warning(disable:4355)#endifnamespace quickbook{    actions::actions(char const* filein_, fs::path const& outdir_, string_stream& out_)    // header info        : doc_type()        , doc_title()        , doc_version()        , doc_id()        , doc_dirname()        , doc_copyrights()        , doc_purpose()        , doc_category()        , doc_authors()        , doc_license()        , doc_last_revision()        , include_doc_id()        , doc_license_1_1()        , doc_purpose_1_1()    // main output stream        , out(out_)    // auxilliary streams        , phrase()        , temp()        , list_buffer()    // state        , filename(fs::complete(fs::path(filein_, fs::native)))        , outdir(outdir_)        , macro()        , section_level(0)        , section_id()        , qualified_section_id()        , source_mode("c++")    // temporary or global state        , table_title()        , table_span(0)        , table_header()        , macro_id()        , list_marks()        , list_indent(-1)        , template_info()        , template_depth(0)        , template_escape(false)        , templates()    // actions        , error()        , extract_doc_license(doc_license, phrase)        , extract_doc_purpose(doc_purpose, phrase)        , code(out, phrase, temp, source_mode, macro, *this)        , code_block(phrase, phrase, temp, source_mode, macro, *this)        , inline_code(phrase, temp, source_mode, macro, *this)        , paragraph(out, phrase, paragraph_pre, paragraph_post)        , inside_paragraph(temp_para, phrase, paragraph_pre, paragraph_post)        , h(out, phrase, doc_id, section_id, qualified_section_id, section_level)        , h1(out, phrase, doc_id, section_id, qualified_section_id, h1_pre, h1_post)        , h2(out, phrase, doc_id, section_id, qualified_section_id, h2_pre, h2_post)        , h3(out, phrase, doc_id, section_id, qualified_section_id, h3_pre, h3_post)        , h4(out, phrase, doc_id, section_id, qualified_section_id, h4_pre, h4_post)        , h5(out, phrase, doc_id, section_id, qualified_section_id, h5_pre, h5_post)        , h6(out, phrase, doc_id, section_id, qualified_section_id, h6_pre, h6_post)        , hr(out, hr_)        , blurb(out, temp_para, blurb_pre, blurb_post)        , blockquote(out, temp_para, blockquote_pre, blockquote_post)        , preformatted(out, phrase, preformatted_pre, preformatted_post)        , warning(out, temp_para, warning_pre, warning_post)        , caution(out, temp_para, caution_pre, caution_post)        , important(out, temp_para, important_pre, important_post)        , note(out, temp_para, note_pre, note_post)        , tip(out, temp_para, tip_pre, tip_post)        , plain_char(phrase)        , raw_char(phrase)        , image(phrase)        , cond_phrase_pre(phrase, conditions, macro)        , cond_phrase_post(phrase, conditions, macro)        , list(out, list_buffer, list_indent, list_marks)        , list_format(list_buffer, list_indent, list_marks)        , list_item(list_buffer, phrase, list_item_pre, list_item_post)        , funcref_pre(phrase, funcref_pre_)        , funcref_post(phrase, funcref_post_)        , classref_pre(phrase, classref_pre_)        , classref_post(phrase, classref_post_)        , memberref_pre(phrase, memberref_pre_)        , memberref_post(phrase, memberref_post_)        , enumref_pre(phrase, enumref_pre_)        , enumref_post(phrase, enumref_post_)        , macroref_pre(phrase, macroref_pre_)        , macroref_post(phrase, macroref_post_)        , headerref_pre(phrase, headerref_pre_)        , headerref_post(phrase, headerref_post_)        , conceptref_pre(phrase, conceptref_pre_)        , conceptref_post(phrase, conceptref_post_)        , globalref_pre(phrase, globalref_pre_)        , globalref_post(phrase, globalref_post_)        , bold_pre(phrase, bold_pre_)        , bold_post(phrase, bold_post_)        , italic_pre(phrase, italic_pre_)        , italic_post(phrase, italic_post_)        , underline_pre(phrase, underline_pre_)        , underline_post(phrase, underline_post_)        , teletype_pre(phrase, teletype_pre_)        , teletype_post(phrase, teletype_post_)        , strikethrough_pre(phrase, strikethrough_pre_)        , strikethrough_post(phrase, strikethrough_post_)        , quote_pre(phrase, quote_pre_)        , quote_post(phrase, quote_post_)        , replaceable_pre(phrase, replaceable_pre_)        , replaceable_post(phrase, replaceable_post_)        , footnote_pre(phrase, footnote_pre_)        , footnote_post(phrase, footnote_post_)        , simple_bold(phrase, bold_pre_, bold_post_, macro)        , simple_italic(phrase, italic_pre_, italic_post_, macro)        , simple_underline(phrase, underline_pre_, underline_post_, macro)        , simple_teletype(phrase, teletype_pre_, teletype_post_, macro)        , simple_strikethrough(phrase, strikethrough_pre_, strikethrough_post_, macro)        , variablelist(*this)        , start_varlistentry(phrase, start_varlistentry_)        , end_varlistentry(phrase, end_varlistentry_)        , start_varlistterm(phrase, start_varlistterm_)        , end_varlistterm(phrase, end_varlistterm_)        , start_varlistitem(phrase)        , end_varlistitem(phrase, temp_para)        , break_(phrase)        , macro_identifier(*this)        , macro_definition(*this)        , do_macro(phrase)        , template_body(*this)        , do_template(*this)        , url_pre(phrase, url_pre_)        , url_post(phrase, url_post_)        , link_pre(phrase, link_pre_)        , link_post(phrase, link_post_)        , table(*this)        , start_row(phrase, table_span, table_header)        , end_row(phrase, end_row_)        , start_cell(phrase, table_span)        , end_cell(phrase, temp_para)        , anchor(out)        , begin_section(out, phrase, doc_id, section_id, section_level, qualified_section_id)        , end_section(out, section_level, qualified_section_id)        , xinclude(out, *this)        , include(*this)        , import(out, *this)        , escape_pre(phrase, escape_pre_)        , escape_post(phrase, escape_post_)    {        // turn off __FILENAME__ macro on debug mode = true        std::string filename_str = debug_mode ?            std::string("NO_FILENAME_MACRO_GENERATED_IN_DEBUG_MODE") :            filename.native_file_string();        // add the predefined macros        macro.add            ("__DATE__", std::string(quickbook_get_date))            ("__TIME__", std::string(quickbook_get_time))            ("__FILENAME__", filename_str)        ;    }    void actions::push()    {        state_stack.push(            boost::make_tuple(                filename              , outdir              , macro              , section_level              , section_id              , qualified_section_id              , source_mode            )        );        out.push();        phrase.push();        temp.push();        temp_para.push();        list_buffer.push();        templates.push();    }    void actions::pop()    {        boost::tie(            filename          , outdir          , macro          , section_level          , section_id          , qualified_section_id          , source_mode        ) = state_stack.top();        state_stack.pop();        out.pop();        phrase.pop();        temp.pop();        temp_para.pop();        list_buffer.pop();        templates.pop();    }}

⌨️ 快捷键说明

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