Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::wave::util::macromap< ContextT > Class Template Reference

#include <cpp_macromap.hpp>

Inheritance diagram for boost::wave::util::macromap< ContextT >:

Public Types

typedef
defined_macros_type::name_iterator 
name_iterator
 
typedef
defined_macros_type::const_name_iterator 
const_name_iterator
 

Public Member Functions

 macromap (ContextT &ctx_)
 
 ~macromap ()
 
bool add_macro (token_type const &name, bool has_parameters, parameter_container_type &parameters, definition_container_type &definition, bool is_predefined=false, defined_macros_type *scope=0)
 
bool is_defined (string_type const &name, typename defined_macros_type::iterator &it, defined_macros_type *scope=0) const
 
template<typename IteratorT >
bool is_defined (IteratorT const &begin, IteratorT const &end) const
 
bool is_defined (string_type const &str) const
 
bool get_macro (string_type const &name, bool &has_parameters, bool &is_predefined, position_type &pos, parameter_container_type &parameters, definition_container_type &definition, defined_macros_type *scope=0) const
 
bool remove_macro (string_type const &name, position_type const &pos, bool even_predefined=false)
 
template<typename IteratorT , typename ContainerT >
token_type const & expand_tokensequence (IteratorT &first, IteratorT const &last, ContainerT &pending, ContainerT &expanded, bool &seen_newline, bool expand_operator_defined)
 
template<typename IteratorT , typename ContainerT >
void expand_whole_tokensequence (ContainerT &expanded, IteratorT &first, IteratorT const &last, bool expand_operator_defined)
 
void init_predefined_macros (char const *fname="<Unknown>", defined_macros_type *scope=0, bool at_global_scope=true)
 
void predefine_macro (defined_macros_type *scope, string_type const &name, token_type const &t)
 
void reset_macromap ()
 
position_type & get_main_pos ()
 
position_type const & get_main_pos () const
 
name_iterator begin ()
 
name_iterator end ()
 
const_name_iterator begin () const
 
const_name_iterator end () const
 
template<typename ContextT >
bool is_defined (typename token_type::string_type const &name, typename defined_macros_type::iterator &it, defined_macros_type *scope) const
 
template<typename IteratorT , typename ContainerT >
ContextT::token_type const & expand_tokensequence (IteratorT &first, IteratorT const &last, ContainerT &pending, ContainerT &expanded, bool &seen_newline, bool expand_operator_defined)
 
template<typename IteratorT , typename ContainerT >
ContextT::token_type const & expand_tokensequence_worker (ContainerT &pending, unput_queue_iterator< IteratorT, token_type, ContainerT > &first, unput_queue_iterator< IteratorT, token_type, ContainerT > const &last, bool &seen_newline, bool expand_operator_defined)
 
template<typename IteratorT , typename ContainerT , typename SizeT >
std::vector< ContainerT >
::size_type 
collect_arguments (token_type const curr_token, std::vector< ContainerT > &arguments, IteratorT &next, IteratorT &endparen, IteratorT const &end, SizeT const &parameter_count, bool &seen_newline)
 
template<typename IteratorT , typename ContainerT >
ContextT::token_type const & resolve_defined (IteratorT &first, IteratorT const &last, ContainerT &pending)
 

Protected Member Functions

template<typename IteratorT , typename ContainerT >
token_type const & expand_tokensequence_worker (ContainerT &pending, unput_queue_iterator< IteratorT, token_type, ContainerT > &first, unput_queue_iterator< IteratorT, token_type, ContainerT > const &last, bool &seen_newline, bool expand_operator_defined)
 
template<typename IteratorT , typename ContainerT , typename SizeT >
std::vector< ContainerT >
::size_type 
collect_arguments (token_type const curr_token, std::vector< ContainerT > &arguments, IteratorT &next, IteratorT &endparen, IteratorT const &end, SizeT const &parameter_count, bool &seen_newline)
 
template<typename IteratorT , typename ContainerT >
bool expand_macro (ContainerT &pending, token_type const &name, typename defined_macros_type::iterator it, IteratorT &first, IteratorT const &last, bool &seen_newline, bool expand_operator_defined, defined_macros_type *scope=0, ContainerT *queue_symbol=0)
 
template<typename ContainerT >
bool expand_predefined_macro (token_type const &curr_token, ContainerT &expanded)
 
template<typename ContainerT >
void expand_argument (typename std::vector< ContainerT >::size_type arg, std::vector< ContainerT > &arguments, std::vector< ContainerT > &expanded_args, bool expand_operator_defined, std::vector< bool > &has_expanded_args)
 
template<typename ContainerT >
void expand_replacement_list (macro_definition_type const &macrodefinition, std::vector< ContainerT > &arguments, bool expand_operator_defined, ContainerT &expanded)
 
template<typename IteratorT , typename ContainerT >
void rescan_replacement_list (token_type const &curr_token, macro_definition_type &macrodef, ContainerT &replacement_list, ContainerT &expanded, bool expand_operator_defined, IteratorT &nfirst, IteratorT const &nlast)
 
template<typename IteratorT , typename ContainerT >
token_type const & resolve_defined (IteratorT &first, IteratorT const &last, ContainerT &expanded)
 
template<typename IteratorT , typename ContainerT >
bool resolve_operator_pragma (IteratorT &first, IteratorT const &last, ContainerT &expanded, bool &seen_newline)
 
template<typename ContainerT >
bool concat_tokensequence (ContainerT &expanded)
 
template<typename ContainerT >
bool is_valid_concat (string_type new_value, position_type const &pos, ContainerT &rescanned)
 

Member Typedef Documentation

template<typename ContextT>
typedef defined_macros_type::name_iterator boost::wave::util::macromap< ContextT >::name_iterator

Constructor & Destructor Documentation

template<typename ContextT>
boost::wave::util::macromap< ContextT >::macromap ( ContextT &  ctx_)
inline
template<typename ContextT>
boost::wave::util::macromap< ContextT >::~macromap ( )
inline

Member Function Documentation

template<typename ContextT>
const_name_iterator boost::wave::util::macromap< ContextT >::begin ( void  ) const
inline
template<typename ContextT>
template<typename IteratorT , typename ContainerT , typename SizeT >
std::vector<ContainerT>::size_type boost::wave::util::macromap< ContextT >::collect_arguments ( token_type const  curr_token,
std::vector< ContainerT > &  arguments,
IteratorT &  next,
IteratorT &  endparen,
IteratorT const &  end,
SizeT const &  parameter_count,
bool &  seen_newline 
)
protected
template<typename ContextT>
template<typename IteratorT , typename ContainerT , typename SizeT >
std::vector<ContainerT>::size_type boost::wave::util::macromap< ContextT >::collect_arguments ( token_type const  curr_token,
std::vector< ContainerT > &  arguments,
IteratorT &  next,
IteratorT &  endparen,
IteratorT const &  end,
SizeT const &  parameter_count,
bool &  seen_newline 
)
inline
template<typename ContextT>
const_name_iterator boost::wave::util::macromap< ContextT >::end ( void  ) const
inline
template<typename ContextT >
template<typename ContainerT >
void boost::wave::util::macromap< ContextT >::expand_argument ( typename std::vector< ContainerT >::size_type  arg,
std::vector< ContainerT > &  arguments,
std::vector< ContainerT > &  expanded_args,
bool  expand_operator_defined,
std::vector< bool > &  has_expanded_args 
)
inlineprotected
template<typename ContextT >
template<typename IteratorT , typename ContainerT >
bool boost::wave::util::macromap< ContextT >::expand_macro ( ContainerT &  pending,
token_type const &  name,
typename defined_macros_type::iterator  it,
IteratorT &  first,
IteratorT const &  last,
bool &  seen_newline,
bool  expand_operator_defined,
defined_macros_type scope = 0,
ContainerT *  queue_symbol = 0 
)
inlineprotected
template<typename ContextT >
template<typename ContainerT >
bool boost::wave::util::macromap< ContextT >::expand_predefined_macro ( token_type const &  curr_token,
ContainerT &  expanded 
)
inlineprotected
template<typename ContextT>
template<typename IteratorT , typename ContainerT >
token_type const& boost::wave::util::macromap< ContextT >::expand_tokensequence ( IteratorT &  first,
IteratorT const &  last,
ContainerT &  pending,
ContainerT &  expanded,
bool &  seen_newline,
bool  expand_operator_defined 
)
template<typename ContextT>
template<typename IteratorT , typename ContainerT >
ContextT::token_type const& boost::wave::util::macromap< ContextT >::expand_tokensequence ( IteratorT &  first,
IteratorT const &  last,
ContainerT &  pending,
ContainerT &  expanded,
bool &  seen_newline,
bool  expand_operator_defined 
)
inline
template<typename ContextT>
template<typename IteratorT , typename ContainerT >
token_type const& boost::wave::util::macromap< ContextT >::expand_tokensequence_worker ( ContainerT &  pending,
unput_queue_iterator< IteratorT, token_type, ContainerT > &  first,
unput_queue_iterator< IteratorT, token_type, ContainerT > const &  last,
bool &  seen_newline,
bool  expand_operator_defined 
)
protected
template<typename ContextT>
position_type const& boost::wave::util::macromap< ContextT >::get_main_pos ( ) const
inline
template<typename ContextT >
bool boost::wave::util::macromap< ContextT >::is_defined ( string_type const &  str) const
inline
template<typename ContextT>
template<typename ContextT >
bool boost::wave::util::macromap< ContextT >::is_defined ( typename token_type::string_type const &  name,
typename defined_macros_type::iterator &  it,
defined_macros_type scope 
) const
inline
template<typename ContextT >
template<typename ContainerT >
bool boost::wave::util::macromap< ContextT >::is_valid_concat ( string_type  new_value,
position_type const &  pos,
ContainerT &  rescanned 
)
inlineprotected
template<typename ContextT >
void boost::wave::util::macromap< ContextT >::predefine_macro ( defined_macros_type scope,
string_type const &  name,
token_type const &  t 
)
inline
template<typename ContextT >
bool boost::wave::util::macromap< ContextT >::remove_macro ( string_type const &  name,
position_type const &  pos,
bool  even_predefined = false 
)
inline
template<typename ContextT >
template<typename IteratorT , typename ContainerT >
void boost::wave::util::macromap< ContextT >::rescan_replacement_list ( token_type const &  curr_token,
macro_definition_type macrodef,
ContainerT &  replacement_list,
ContainerT &  expanded,
bool  expand_operator_defined,
IteratorT &  nfirst,
IteratorT const &  nlast 
)
inlineprotected
template<typename ContextT >
void boost::wave::util::macromap< ContextT >::reset_macromap ( )
inline
template<typename ContextT>
template<typename IteratorT , typename ContainerT >
token_type const& boost::wave::util::macromap< ContextT >::resolve_defined ( IteratorT &  first,
IteratorT const &  last,
ContainerT &  expanded 
)
protected
template<typename ContextT>
template<typename IteratorT , typename ContainerT >
ContextT::token_type const& boost::wave::util::macromap< ContextT >::resolve_defined ( IteratorT &  first,
IteratorT const &  last,
ContainerT &  pending 
)
inline

The documentation for this class was generated from the following file: