blob: 8cae8cd1b25335f71d59a4552e74e4b1e7dc7960 [file] [log] [blame]
/*=============================================================================
Copyright (c) 2002 2004 2006 Joel de Guzman
Copyright (c) 2004 Eric Niebler
Copyright (c) 2011 Daniel James
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)
=============================================================================*/
#if !defined(BOOST_SPIRIT_ACTIONS_STATE_HPP)
#define BOOST_SPIRIT_ACTIONS_STATE_HPP
#include "state.hpp"
namespace quickbook
{
// State savers
//
// Defined in state.cpp
struct state_save
{
enum scope_flags {
scope_none = 0,
scope_macros = 1,
scope_templates = 2,
scope_output = 4,
scope_callables = scope_macros + scope_templates,
scope_all = scope_callables + scope_output
};
explicit state_save(quickbook::state&, scope_flags);
~state_save();
quickbook::state& state;
scope_flags scope;
unsigned qbk_version;
bool imported;
std::string doc_type;
file_ptr current_file;
quickbook_path current_path;
fs::path xinclude_base;
source_mode_info source_mode;
string_symbols macro;
int template_depth;
int min_section_level;
private:
state_save(state_save const&);
state_save& operator=(state_save const&);
};
}
#endif // BOOST_SPIRIT_ACTIONS_STATE_HPP