Boost-Graph
view release on metacpan or search on metacpan
include/boost/wave/util/cpp_macromap.hpp view on Meta::CPAN
/*=============================================================================
Boost.Wave: A Standard compliant C++ preprocessor library
Macro expansion engine
http://www.boost.org/
Copyright (c) 2001-2005 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_MACROMAP_HPP_CB8F51B0_A3F0_411C_AEF4_6FF631B8B414_INCLUDED)
#define CPP_MACROMAP_HPP_CB8F51B0_A3F0_411C_AEF4_6FF631B8B414_INCLUDED
#include <cstdlib>
#include <ctime>
#include <list>
#include <map>
#include <set>
#include <vector>
#include <iterator>
#include <algorithm>
#include <boost/assert.hpp>
#include <boost/wave/wave_config.hpp>
#include <boost/filesystem/path.hpp>
#include <boost/wave/util/time_conversion_helper.hpp>
#include <boost/wave/util/unput_queue_iterator.hpp>
#include <boost/wave/util/macro_helpers.hpp>
#include <boost/wave/util/macro_definition.hpp>
#include <boost/wave/util/symbol_table.hpp>
#include <boost/wave/util/cpp_macromap_utils.hpp>
#include <boost/wave/util/cpp_macromap_predef.hpp>
#include <boost/wave/grammars/cpp_defined_grammar_gen.hpp>
#include <boost/wave/wave_version.hpp>
#include <boost/wave/cpp_exceptions.hpp>
#include <boost/wave/language_support.hpp>
///////////////////////////////////////////////////////////////////////////////
namespace boost {
namespace wave {
namespace util {
///////////////////////////////////////////////////////////////////////////////
//
// macromap
//
// This class holds all currently defined macros and on demand expands
// those macrodefinitions
//
///////////////////////////////////////////////////////////////////////////////
template <typename ContextT>
class macromap {
typedef macromap<ContextT> self_type;
typedef typename ContextT::token_type token_type;
typedef typename token_type::string_type string_type;
typedef typename token_type::position_type position_type;
( run in 1.082 second using v1.01-cache-2.11-cpan-d8267643d1d )