Update of /cvsroot/boost/boost/boost/wave
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv24959/boost/wave

Modified Files:
        cpp_context.hpp wave_config.hpp 
Log Message:
Wave: Added the BOOST_WAVE_SUPPORT_LONGLONG_INTEGER_LITERALS pp configuration 
constant.

Index: cpp_context.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/wave/cpp_context.hpp,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- cpp_context.hpp     20 Mar 2007 19:19:15 -0000      1.35
+++ cpp_context.hpp     4 Jul 2007 18:25:51 -0000       1.36
@@ -217,6 +217,15 @@
     void reset_macro_definitions() 
         { macros.reset_macromap(); macros.init_predefined_macros(); }
 
+    typedef boost::wave::util::macromap<self_type> macromap_type;
+    typedef typename macromap_type::name_iterator name_iterator;
+    typedef typename macromap_type::const_name_iterator const_name_iterator;
+    
+    name_iterator macro_names_begin() { return macros.begin(); }
+    name_iterator macro_names_end() { return macros.end(); }
+    const_name_iterator macro_names_begin() const { return macros.begin(); }
+    const_name_iterator macro_names_end() const { return macros.end(); }
+
 // get the Wave version information 
     static std::string get_version()  
         { return boost::wave::util::predefined_macros::get_fullversion(false); 
}
@@ -442,7 +451,7 @@
     boost::wave::util::if_block_stack ifblocks;   // conditional compilation 
contexts
     boost::wave::util::include_paths includes;    // lists of include 
directories to search
     iteration_context_stack_type iter_ctxs;       // iteration contexts
-    boost::wave::util::macromap<self_type> macros;  // map of defined macros
+    macromap_type macros;                         // map of defined macros
     boost::wave::language_support language;       // supported 
language/extensions
     hook_policy_type hooks;                       // hook policy instance
 };

Index: wave_config.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/wave/wave_config.hpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- wave_config.hpp     3 Jul 2007 15:47:50 -0000       1.19
+++ wave_config.hpp     4 Jul 2007 18:25:51 -0000       1.20
@@ -351,6 +351,43 @@
 #endif
 
 ///////////////////////////////////////////////////////////////////////////////
+//  Decide, whether to support long long integers in the preprocessor.
+//
+//  The C++ standard requires the preprocessor to use one of the following 
+//  types for integer literals: long or unsigned long depending on a optional 
+//  suffix ('u', 'l', 'ul', or 'lu')
+//
+//  Sometimes it's required to preprocess integer literals bigger than that
+//  (i.e. long long or unsigned long long). In this case you need to define 
the 
+//  BOOST_WAVE_SUPPORT_LONGLONG_INTEGER_LITERALS to something not equal to 
zero.
+//
+//  This pp constant is effective only, if your target platform supports 
+//  long long integers (BOOST_HAS_LONG_LONG is defined).
+//
+//  Please note, that this setting doesn't relate to the Wave support option
+//  support_option_long_long, which enables the recognition of 'll' suffixes 
+//  only.
+//
+//  Defining this pp constant enables the recognition of long long integers
+//  even if these do not have the 'll' suffix.
+//
+#if !defined(BOOST_WAVE_SUPPORT_LONGLONG_INTEGER_LITERALS)
+#define BOOST_WAVE_SUPPORT_LONGLONG_INTEGER_LITERALS 0
+#endif
+
+namespace boost { namespace wave 
+{
+#if defined(BOOST_HAS_LONG_LONG) && \
+    BOOST_WAVE_SUPPORT_LONGLONG_INTEGER_LITERALS != 0
+    typedef boost::long_long_type int_literal_type;
+    typedef boost::ulong_long_type uint_literal_type;
+#else
+    typedef long int_literal_type;
+    typedef unsigned long uint_literal_type;
+#endif
+}}
+
+///////////////////////////////////////////////////////////////////////////////
 //  configure Boost.Spirit thread support, Boost.Pool is configured
 //  automatically 
 #if defined(BOOST_HAS_THREADS)


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs

Reply via email to