|
Boost-Commit : |
From: hartmut.kaiser_at_[hidden]
Date: 2007-12-02 20:21:55
Author: hkaiser
Date: 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
New Revision: 41622
URL: http://svn.boost.org/trac/boost/changeset/41622
Log:
Wave: Merged recent fixes to release branch.
Text files modified:
branches/release/boost/wave/cpp_iteration_context.hpp | 1 +
branches/release/boost/wave/cpplexer/cpp_lex_interface_generator.hpp | 1 +
branches/release/boost/wave/cpplexer/re2clex/cpp_re.hpp | 2 ++
branches/release/boost/wave/grammars/cpp_chlit_grammar.hpp | 23 +++++++++++++++++++----
branches/release/boost/wave/grammars/cpp_defined_grammar.hpp | 3 ++-
branches/release/boost/wave/grammars/cpp_expression_grammar.hpp | 3 ++-
branches/release/boost/wave/grammars/cpp_expression_value.hpp | 21 +++++++++++----------
branches/release/boost/wave/grammars/cpp_intlit_grammar.hpp | 3 ++-
branches/release/boost/wave/util/cpp_macromap_predef.hpp | 1 +
branches/release/boost/wave/util/cpp_macromap_utils.hpp | 3 +--
branches/release/boost/wave/util/flex_string.hpp | 6 +++---
branches/release/boost/wave/util/insert_whitespace_detection.hpp | 12 ++++++------
branches/release/boost/wave/util/symbol_table.hpp | 2 ++
branches/release/boost/wave/util/time_conversion_helper.hpp | 1 +
branches/release/boost/wave/util/unput_queue_iterator.hpp | 10 +++-------
branches/release/boost/wave/wave_config.hpp | 7 ++++---
branches/release/boost/wave/whitespace_handling.hpp | 1 +
branches/release/libs/wave/ChangeLog | 8 +++++++-
branches/release/libs/wave/doc/class_reference_context.html | 28 ++++++++++++++--------------
branches/release/libs/wave/doc/class_reference_ctxpolicy.html | 6 +++---
branches/release/libs/wave/doc/introduction.html | 4 ++--
branches/release/libs/wave/doc/preface.html | 11 +++++------
branches/release/libs/wave/doc/quickstart.html | 8 ++++----
branches/release/libs/wave/index.html | 4 ++--
24 files changed, 99 insertions(+), 70 deletions(-)
Modified: branches/release/boost/wave/cpp_iteration_context.hpp
==============================================================================
--- branches/release/boost/wave/cpp_iteration_context.hpp (original)
+++ branches/release/boost/wave/cpp_iteration_context.hpp 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -22,6 +22,7 @@
#include <boost/wave/cpp_exceptions.hpp>
#include <boost/wave/language_support.hpp>
#include <boost/wave/util/file_position.hpp>
+#include <boost/spirit/iterator/multi_pass.hpp> // make_multi_pass
// this must occur after all of the includes and before any code appears
#ifdef BOOST_HAS_ABI_HEADERS
Modified: branches/release/boost/wave/cpplexer/cpp_lex_interface_generator.hpp
==============================================================================
--- branches/release/boost/wave/cpplexer/cpp_lex_interface_generator.hpp (original)
+++ branches/release/boost/wave/cpplexer/cpp_lex_interface_generator.hpp 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -17,6 +17,7 @@
#include <boost/wave/util/file_position.hpp>
#include <boost/wave/language_support.hpp>
#include <boost/wave/cpplexer/cpp_lex_interface.hpp>
+#include <boost/wave/cpplexer/cpp_lex_token.hpp> // lex_token
// this must occur after all of the includes and before any code appears
#ifdef BOOST_HAS_ABI_HEADERS
Modified: branches/release/boost/wave/cpplexer/re2clex/cpp_re.hpp
==============================================================================
--- branches/release/boost/wave/cpplexer/re2clex/cpp_re.hpp (original)
+++ branches/release/boost/wave/cpplexer/re2clex/cpp_re.hpp 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -33,6 +33,8 @@
namespace cpplexer {
namespace re2clex {
+struct Scanner;
+
///////////////////////////////////////////////////////////////////////////////
// The scanner function to call whenever a new token is requested
BOOST_WAVE_DECL boost::wave::token_id scan(Scanner *s);
Modified: branches/release/boost/wave/grammars/cpp_chlit_grammar.hpp
==============================================================================
--- branches/release/boost/wave/grammars/cpp_chlit_grammar.hpp (original)
+++ branches/release/boost/wave/grammars/cpp_chlit_grammar.hpp 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -14,22 +14,37 @@
#include <limits> // std::numeric_limits
#include <climits> // CHAR_BIT
+#include <boost/wave/wave_config.hpp>
+
#include <boost/static_assert.hpp>
#include <boost/cstdint.hpp>
#include <boost/spirit/core.hpp>
#include <boost/spirit/attribute/closure.hpp>
#include <boost/spirit/dynamic/if.hpp>
+#if SPIRIT_VERSION >= 0x1700
+#include <boost/spirit/actor/assign_actor.hpp>
+#include <boost/spirit/actor/push_back_actor.hpp>
+#endif // SPIRIT_VERSION >= 0x1700
#include <boost/spirit/phoenix/operators.hpp>
#include <boost/spirit/phoenix/primitives.hpp>
#include <boost/spirit/phoenix/statements.hpp>
#include <boost/spirit/phoenix/functions.hpp>
-#include <boost/wave/wave_config.hpp>
#include <boost/wave/cpp_exceptions.hpp>
#include <boost/wave/grammars/cpp_literal_grammar_gen.hpp>
+#if !defined(spirit_append_actor)
+#if SPIRIT_VERSION >= 0x1700
+#define spirit_append_actor(actor) boost::spirit::push_back_a(actor)
+#define spirit_assign_actor(actor) boost::spirit::assign_a(actor)
+#else
+#define spirit_append_actor(actor) boost::spirit::append(actor)
+#define spirit_assign_actor(actor) boost::spirit::assign(actor)
+#endif // SPIRIT_VERSION >= 0x1700
+#endif // !defined(spirit_append_actor)
+
// this must occur after all of the includes and before any code appears
#ifdef BOOST_HAS_ABI_HEADERS
#include BOOST_ABI_PREFIX
@@ -63,9 +78,9 @@
///////////////////////////////////////////////////////////////////////////////
struct compose_character_literal {
- template <typename ResultT, typename A1, typename A2, typename A3>
- struct result {
-
+ template <typename A1, typename A2, typename A3, typename A4>
+ struct result
+ {
typedef void type;
};
Modified: branches/release/boost/wave/grammars/cpp_defined_grammar.hpp
==============================================================================
--- branches/release/boost/wave/grammars/cpp_defined_grammar.hpp (original)
+++ branches/release/boost/wave/grammars/cpp_defined_grammar.hpp 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -11,6 +11,8 @@
#if !defined(CPP_DEFINED_GRAMMAR_HPP_F48287B2_DC67_40A8_B4A1_800EFBD67869_INCLUDED)
#define CPP_DEFINED_GRAMMAR_HPP_F48287B2_DC67_40A8_B4A1_800EFBD67869_INCLUDED
+#include <boost/wave/wave_config.hpp>
+
#include <boost/assert.hpp>
#include <boost/spirit/core.hpp>
#include <boost/spirit/attribute/closure.hpp>
@@ -19,7 +21,6 @@
#include <boost/spirit/actor/push_back_actor.hpp>
#endif // SPIRIT_VERSION >= 0x1700
-#include <boost/wave/wave_config.hpp>
#include <boost/wave/token_ids.hpp>
#include <boost/wave/util/pattern_parser.hpp>
#include <boost/wave/grammars/cpp_defined_grammar_gen.hpp>
Modified: branches/release/boost/wave/grammars/cpp_expression_grammar.hpp
==============================================================================
--- branches/release/boost/wave/grammars/cpp_expression_grammar.hpp (original)
+++ branches/release/boost/wave/grammars/cpp_expression_grammar.hpp 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -11,6 +11,8 @@
#if !defined(CPP_EXPRESSION_GRAMMAR_HPP_099CD1A4_A6C0_44BE_8F24_0B00F5BE5674_INCLUDED)
#define CPP_EXPRESSION_GRAMMAR_HPP_099CD1A4_A6C0_44BE_8F24_0B00F5BE5674_INCLUDED
+#include <boost/wave/wave_config.hpp>
+
#include <boost/assert.hpp>
#include <boost/spirit/core.hpp>
#include <boost/spirit/attribute/closure.hpp>
@@ -26,7 +28,6 @@
#include <boost/spirit/phoenix/statements.hpp>
#include <boost/spirit/phoenix/casts.hpp>
-#include <boost/wave/wave_config.hpp>
#include <boost/wave/token_ids.hpp>
#include <boost/wave/cpp_exceptions.hpp>
Modified: branches/release/boost/wave/grammars/cpp_expression_value.hpp
==============================================================================
--- branches/release/boost/wave/grammars/cpp_expression_value.hpp (original)
+++ branches/release/boost/wave/grammars/cpp_expression_value.hpp 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -16,6 +16,7 @@
#endif // defined(BOOST_SPIRIT_DEBUG)
#include <boost/wave/wave_config.hpp>
+#include <boost/wave/grammars/cpp_value_error.hpp> // value_error
// this must occur after all of the includes and before any code appears
#ifdef BOOST_HAS_ABI_HEADERS
@@ -185,8 +186,8 @@
case is_bool:
{
int_literal_type result = value.i + as_long(rhs);
- if (rhs.value.i > 0L && value.i > result ||
- rhs.value.i < 0L && value.i < result)
+ if ((rhs.value.i > 0L && value.i > result) ||
+ (rhs.value.i < 0L && value.i < result))
{
valid = error_integer_overflow;
}
@@ -199,8 +200,8 @@
case is_int:
{
int_literal_type result = value.i + rhs.value.i;
- if (rhs.value.i > 0L && value.i > result ||
- rhs.value.i < 0L && value.i < result)
+ if ((rhs.value.i > 0L && value.i > result) ||
+ (rhs.value.i < 0L && value.i < result))
{
valid = error_integer_overflow;
}
@@ -252,8 +253,8 @@
case is_bool:
{
int_literal_type result = value.i - as_long(rhs);
- if (rhs.value.i > 0L && result > value.i ||
- rhs.value.i < 0L && result < value.i)
+ if ((rhs.value.i > 0L && result > value.i) ||
+ (rhs.value.i < 0L && result < value.i))
{
valid = error_integer_overflow;
}
@@ -266,8 +267,8 @@
case is_int:
{
int_literal_type result = value.i - rhs.value.i;
- if (rhs.value.i > 0L && result > value.i ||
- rhs.value.i < 0L && result < value.i)
+ if ((rhs.value.i > 0L && result > value.i) ||
+ (rhs.value.i < 0L && result < value.i))
{
valid = error_integer_overflow;
}
@@ -310,8 +311,8 @@
case is_int:
{
uint_literal_type result = value.ui - rhs.value.i;
- if (rhs.value.i > 0L && result > value.ui ||
- rhs.value.i < 0L && result < value.ui)
+ if ((rhs.value.i > 0L && result > value.ui) ||
+ (rhs.value.i < 0L && result < value.ui))
{
valid = error_integer_overflow;
}
Modified: branches/release/boost/wave/grammars/cpp_intlit_grammar.hpp
==============================================================================
--- branches/release/boost/wave/grammars/cpp_intlit_grammar.hpp (original)
+++ branches/release/boost/wave/grammars/cpp_intlit_grammar.hpp 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -11,6 +11,8 @@
#if !defined(CPP_INTLIT_GRAMMAR_HPP_2E1E70B1_F15C_4132_8554_10A231B0D91C_INCLUDED)
#define CPP_INTLIT_GRAMMAR_HPP_2E1E70B1_F15C_4132_8554_10A231B0D91C_INCLUDED
+#include <boost/wave/wave_config.hpp>
+
#include <boost/spirit/core.hpp>
#include <boost/spirit/attribute/closure.hpp>
#if SPIRIT_VERSION >= 0x1700
@@ -22,7 +24,6 @@
#include <boost/spirit/phoenix/primitives.hpp>
#include <boost/spirit/phoenix/statements.hpp>
-#include <boost/wave/wave_config.hpp>
#include <boost/wave/cpp_exceptions.hpp>
#include <boost/wave/grammars/cpp_literal_grammar_gen.hpp>
Modified: branches/release/boost/wave/util/cpp_macromap_predef.hpp
==============================================================================
--- branches/release/boost/wave/util/cpp_macromap_predef.hpp (original)
+++ branches/release/boost/wave/util/cpp_macromap_predef.hpp 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -19,6 +19,7 @@
#include <boost/wave/wave_config.hpp>
#include <boost/wave/wave_config_constant.hpp>
#include <boost/wave/token_ids.hpp>
+#include <boost/wave/util/time_conversion_helper.hpp> // time_conversion_helper
// this must occur after all of the includes and before any code appears
#ifdef BOOST_HAS_ABI_HEADERS
Modified: branches/release/boost/wave/util/cpp_macromap_utils.hpp
==============================================================================
--- branches/release/boost/wave/util/cpp_macromap_utils.hpp (original)
+++ branches/release/boost/wave/util/cpp_macromap_utils.hpp 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -17,6 +17,7 @@
#include <boost/wave/wave_config.hpp>
#include <boost/wave/token_ids.hpp>
+#include <boost/wave/util/unput_queue_iterator.hpp>
// this must occur after all of the includes and before any code appears
#ifdef BOOST_HAS_ABI_HEADERS
@@ -420,8 +421,6 @@
inline bool
is_whitespace_only (ContainerT const &argument)
{
- using namespace cpplexer;
-
typename ContainerT::const_iterator end = argument.end();
for (typename ContainerT::const_iterator it = argument.begin();
it != end; ++it)
Modified: branches/release/boost/wave/util/flex_string.hpp
==============================================================================
--- branches/release/boost/wave/util/flex_string.hpp (original)
+++ branches/release/boost/wave/util/flex_string.hpp 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -24,7 +24,7 @@
// - Incorporated the changes from Andrei's latest version of this class
//
// #HK070307:
-// - One again incorporated the changes from Andrei's latest version of
+// - Once again incorporated the changes from Andrei's latest version of
// this class
#ifndef FLEX_STRING_INC_
@@ -705,8 +705,8 @@
if (capacity() < neededCapacity)
{
- static std::less_equal<const E*> le;
- BOOST_ASSERT(!(le(begin(), &*b) && le(&*b, end())));
+ typedef std::less_equal<const E*> le_type;
+ BOOST_ASSERT(!(le_type()(begin(), &*b) && le_type()(&*b, end())));
reserve(neededCapacity);
}
std::copy(b, e, end());
Modified: branches/release/boost/wave/util/insert_whitespace_detection.hpp
==============================================================================
--- branches/release/boost/wave/util/insert_whitespace_detection.hpp (original)
+++ branches/release/boost/wave/util/insert_whitespace_detection.hpp 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -84,7 +84,7 @@
}
// T_INTLIT
inline bool
- handle_intlit(boost::wave::token_id prev, boost::wave::token_id before)
+ handle_intlit(boost::wave::token_id prev, boost::wave::token_id /*before*/)
{
using namespace boost::wave;
switch (static_cast<unsigned int>(prev)) {
@@ -101,7 +101,7 @@
// T_FLOATLIT
inline bool
handle_floatlit(boost::wave::token_id prev,
- boost::wave::token_id before)
+ boost::wave::token_id /*before*/)
{
using namespace boost::wave;
switch (static_cast<unsigned int>(prev)) {
@@ -118,7 +118,7 @@
// <% T_LEFTBRACE
inline bool
handle_alt_leftbrace(boost::wave::token_id prev,
- boost::wave::token_id before)
+ boost::wave::token_id /*before*/)
{
using namespace boost::wave;
switch (static_cast<unsigned int>(prev)) {
@@ -131,7 +131,7 @@
// <: T_LEFTBRACKET
inline bool
handle_alt_leftbracket(boost::wave::token_id prev,
- boost::wave::token_id before)
+ boost::wave::token_id /*before*/)
{
using namespace boost::wave;
switch (static_cast<unsigned int>(prev)) {
@@ -144,7 +144,7 @@
// T_FIXEDPOINTLIT
inline bool
handle_fixedpointlit(boost::wave::token_id prev,
- boost::wave::token_id before)
+ boost::wave::token_id /*before*/)
{
using namespace boost::wave;
switch (static_cast<unsigned int>(prev)) {
@@ -174,7 +174,7 @@
// T_QUESTION_MARK
inline bool
handle_questionmark(boost::wave::token_id prev,
- boost::wave::token_id before)
+ boost::wave::token_id /*before*/)
{
using namespace boost::wave;
switch(static_cast<unsigned int>(prev)) {
Modified: branches/release/boost/wave/util/symbol_table.hpp
==============================================================================
--- branches/release/boost/wave/util/symbol_table.hpp (original)
+++ branches/release/boost/wave/util/symbol_table.hpp 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -14,6 +14,8 @@
#include <map>
#include <boost/wave/wave_config.hpp>
+#include <boost/shared_ptr.hpp>
+
#if BOOST_WAVE_SERIALIZATION != 0
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/map.hpp>
Modified: branches/release/boost/wave/util/time_conversion_helper.hpp
==============================================================================
--- branches/release/boost/wave/util/time_conversion_helper.hpp (original)
+++ branches/release/boost/wave/util/time_conversion_helper.hpp 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -12,6 +12,7 @@
#define TIME_CONVERSION_HELPER_HPP_DA97E389_1797_43BA_82AE_B071064B3EF4_INCLUDED
#include <ctime>
+#include <cstring>
#include <boost/config.hpp>
#include <boost/spirit/core.hpp>
Modified: branches/release/boost/wave/util/unput_queue_iterator.hpp
==============================================================================
--- branches/release/boost/wave/util/unput_queue_iterator.hpp (original)
+++ branches/release/boost/wave/util/unput_queue_iterator.hpp 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -18,6 +18,7 @@
#include <boost/iterator_adaptors.hpp>
#include <boost/wave/wave_config.hpp>
+#include <boost/wave/token_ids.hpp> // token_id
// this must occur after all of the includes and before any code appears
#ifdef BOOST_HAS_ABI_HEADERS
@@ -416,10 +417,7 @@
inline boost::wave::token_id
skip_whitespace(IteratorT &first, IteratorT const &last)
{
- using namespace cpplexer;
-
- token_id id = next_token<IteratorT>::peek(first, last, false);
-
+ token_id id = next_token<IteratorT>::peek(first, last, false);
if (IS_CATEGORY(id, WhiteSpaceTokenType)) {
do {
++first;
@@ -434,11 +432,9 @@
inline boost::wave::token_id
skip_whitespace(IteratorT &first, IteratorT const &last, ContainerT &queue)
{
- using namespace cpplexer;
queue.push_back (*first); // queue up the current token
- token_id id = next_token<IteratorT>::peek(first, last, false);
-
+ token_id id = next_token<IteratorT>::peek(first, last, false);
if (IS_CATEGORY(id, WhiteSpaceTokenType)) {
do {
queue.push_back(*++first); // queue up the next whitespace
Modified: branches/release/boost/wave/wave_config.hpp
==============================================================================
--- branches/release/boost/wave/wave_config.hpp (original)
+++ branches/release/boost/wave/wave_config.hpp 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -347,7 +347,7 @@
// import as a keyword (T_IMPORT token id)
//
#if !defined(BOOST_WAVE_SUPPORT_IMPORT_KEYWORD)
-#define BOOST_WAVE_SUPPORT_IMPORT_KEYWORD 0
+#define BOOST_WAVE_SUPPORT_IMPORT_KEYWORD 0
#endif
///////////////////////////////////////////////////////////////////////////////
@@ -404,8 +404,9 @@
#define PHOENIX_LIMIT 6
#endif
#if PHOENIX_LIMIT < 6
-#error "Boost.Wave: the constant PHOENIX_LIMIT must be at least defined to 4" \
- " to compile the library."
+// boost/spirit/attribute.hpp sets PHOENIX_LIMIT to 3!
+#error "Boost.Wave: the constant PHOENIX_LIMIT must be at least defined to 6" \
+" to compile the library."
#endif
///////////////////////////////////////////////////////////////////////////////
Modified: branches/release/boost/wave/whitespace_handling.hpp
==============================================================================
--- branches/release/boost/wave/whitespace_handling.hpp (original)
+++ branches/release/boost/wave/whitespace_handling.hpp 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -16,6 +16,7 @@
#include <boost/wave/wave_config.hpp>
#include <boost/wave/token_ids.hpp>
#include <boost/wave/preprocessing_hooks.hpp>
+#include <boost/wave/language_support.hpp>
// this must occur after all of the includes and before any code appears
#ifdef BOOST_HAS_ABI_HEADERS
Modified: branches/release/libs/wave/ChangeLog
==============================================================================
--- branches/release/libs/wave/ChangeLog (original)
+++ branches/release/libs/wave/ChangeLog 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -24,6 +24,9 @@
CHANGELOG
+- Wave Version 1.4
+
+Boost V1.35.0
- Wave Version 1.3
- Changed the return value of the 'evaluated_conditional_expression()' pp hook
to 'bool' allowing to force Wave to re-evaluate the current conditional
@@ -151,7 +154,10 @@
spotting the problem.
- Unterminated C++/C comment diagnostics are now a warning and not an error
anymore.
-
+- Applied patch provided by Jens Seidel making sure every header compiles on
+ its own.
+- Updates to the documentation.
+
Boost V1.34.0
- Wave Version 1.2.4
- Added the possibility to explicitly enable/disable the generation of #line
Modified: branches/release/libs/wave/doc/class_reference_context.html
==============================================================================
--- branches/release/libs/wave/doc/class_reference_context.html (original)
+++ branches/release/libs/wave/doc/class_reference_context.html 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -52,7 +52,7 @@
<span class="keyword">template</span> <
<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> LexIterator,
- <span class="keyword">typename</span> InputPolicy, <span class="keyword">typename</span> TracePolicy
+ <span class="keyword">typename</span> InputPolicy, <span class="keyword">typename</span> ContextPolicy
>
<span class="keyword">class</span> context <span class="special">:</span> <span class="keyword">public</span> InputPolicy
{
@@ -66,7 +66,7 @@
<a href="class_reference_context.html#constructor">context</a>(Iterator<span class="keyword"> const</span> &first_,
Iterator <span class="keyword">const</span> &last_,
<span class="keyword">char const</span> *fname = <span class="string">"<Unknown>"</span>,
- TracePolicy <span class="keyword">const</span>& trace = TracePolicy())
+ ContextPolicy <span class="keyword">const</span>& ctx_policy = ContextPolicy())
<span class="comment">// iterator interface</span>
iterator_type begin() <span class="keyword">const</span>;
@@ -135,9 +135,9 @@
to use, when it comes to including and opening an included file.</p></td>
</tr>
<tr>
- <td class="table_cells"><code>TracePolicy</code></td>
- <td class="table_cells"><p>The type of the trace policy class, which allows
- to customize the trace output generated while expanding macros. The requirements for this policy are described here.</p></td>
+ <td class="table_cells"><code>ContextPolicy</code></td>
+ <td class="table_cells"><p>The type of the context policy class, which allows
+ to customize different aspects of the behaviour of the preprocessing. The requirements of this policy and the available customization points provided by this policy are described here.</p></td>
</tr>
</table>
<p>For further information about the lexer type to use, please refer to the <a href="class_reference_lexer.html">The
@@ -145,9 +145,9 @@
<p>If the template parameter <tt>InputPolicy</tt> is omitted, the template <tt>boost::wave::iteration_context_policies::load_file_to_string</tt>
is used. For further information about the input policy, please refer to the
topic The Input Policy.</p>
-<p>If the template parameter TracePolicyT is omitted, the <tt>boost::wave::macro_trace_policies::no_tracing</tt>
- policy type is used, i.e. by default there is no tracing performed. For further
- information about the hooking policy, please refer to the topic <a href="class_reference_ctxpolicy.html">The
+<p>If the template parameter ContextPolicy is omitted, the <tt>boost::wave::context_policies::eat_whitespace</tt>
+ policy type is used, implementing certain basic preprocessing hooks needed for normal (default) execution. For further
+ information about the context policy, please refer to the topic <a href="class_reference_ctxpolicy.html">The
Context Policy</a>. </p>
<h2><a name="public_typedefs"></a>Public Typedefs</h2>
<p>The <tt>boost::wave::context</tt> template defines the following public typedefs, which may be useful while using this class:</p>
@@ -172,8 +172,8 @@
<td class="table_cells"><p>The <tt>InputPolicy</tt> template parameter provided, while the <tt>context</tt> class was instantiated. </p></td>
</tr>
<tr>
- <td class="table_cells"><code>trace_policy_type</code></td>
- <td class="table_cells"><p>The <tt>TracePolicy</tt> template parameter provided, while the <tt>context</tt> class was instantiated. </p></td>
+ <td class="table_cells"><code>context_policy_type</code></td>
+ <td class="table_cells"><p>The <tt>ContextPolicy</tt> template parameter provided, while the <tt>context</tt> class was instantiated. </p></td>
</tr>
<tr>
<td class="table_cells"><code>position_type</code></td>
@@ -184,15 +184,15 @@
<p><b><a name="constructor" id="constructor"></a>Constructor</b></p>
<pre> context(Iterator <span class="keyword">const</span> &first,
Iterator <span class="keyword">const</span> &last, <span class="keyword">char</span> <span class="keyword">const</span> *filename,
- TracePolicy <span class="keyword">const</span>& trace);</pre>
+ ContextPolicy <span class="keyword">const</span>& ctx_policy);</pre>
<p>Constructs a context object on top of the input stream given by the pair
of auxilliary iterators <tt>[first, last)</tt>. The iterators should
be at least <tt>forward_iterator</tt> type iterators. The filename parameter
is to be supplied for informational purposes only. This string is used for
indicating the token positions inside the input stream, it is not validated
against the file system. If the filename parameter is not given it defaults
- to <span class="copyright">"<Unknown>"</span>. If the trace
- parameter isn't supplied it defaults to a default constructed <tt>TracePolicy</tt>
+ to <span class="copyright">"<Unknown>"</span>. If the ctx_policy
+ parameter isn't supplied it defaults to a default constructed <tt>ContextPolicy</tt>
object. </p>
<p>Additionally the macro symbol table is filled with the predefined macros
and the current reference directory is set to the path of the given filename.
@@ -507,7 +507,7 @@
<font size="2">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) </font> </p>
<span class="updated"></span>
<p class="copyright"><span class="updated">Last updated:
- <!-- #BeginDate format:fcAm1m -->Tuesday, June 26, 2007 20:21<!-- #EndDate -->
+ <!-- #BeginDate format:fcAm1m -->Sunday, December 2, 2007 19:12<!-- #EndDate -->
</span>
</p>
<p> </p>
Modified: branches/release/libs/wave/doc/class_reference_ctxpolicy.html
==============================================================================
--- branches/release/libs/wave/doc/class_reference_ctxpolicy.html (original)
+++ branches/release/libs/wave/doc/class_reference_ctxpolicy.html 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -38,10 +38,10 @@
<li>a token is about to be returned from the preprocessor, </li>
<li>a macro get's defined or undefined, </li>
<li>a macro has been expanded or rescanned,</li>
- <li>an include file has been opened or left, </li>
+ <li>an include file has been opened or closed, </li>
<li>a conditional expression was evaluated,</li>
<li>a token has to be skipped because it is contained in a non-evaluated conditional block, </li>
- <li> a pragma of the form <tt>'wave option[(value)]'</tt> has been recognised. </li>
+ <li> a pragma of the form <tt>'wave option[(value)]'</tt> has been recognized. </li>
</ul>
<p>This policy type is used as a template parameter to the boost::wave::context<>
object, where the default policy provides empty hook functions only.</p>
@@ -435,7 +435,7 @@
<br>
<font size="2">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) </font> </p>
<p class="copyright"><span class="updated">Last updated:
- <!-- #BeginDate format:fcAm1m -->Wednesday, July 4, 2007 16:10<!-- #EndDate -->
+ <!-- #BeginDate format:fcAm1m -->Sunday, December 2, 2007 19:12<!-- #EndDate -->
</span></p>
</body>
</html>
Modified: branches/release/libs/wave/doc/introduction.html
==============================================================================
--- branches/release/libs/wave/doc/introduction.html (original)
+++ branches/release/libs/wave/doc/introduction.html 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -32,7 +32,7 @@
iterator interface. The context object helps to configure the actual preprocessing
process (as search path's, predefined macros, etc.). The exposed iterators are
generated by this context object too. Iterating over the sequence defined by
- the two iterators will return the preprocessed tokens, which are to be built
+ the two iterators will return the preprocessed tokens, which are built
on the fly from the given input stream. </P>
<P dir="ltr"> The C++ preprocessor iterator itself is fed by a C++ lexer iterator,
which implements an abstract interface. The C++ lexers packaged with the
@@ -87,7 +87,7 @@
<font size="2">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) </font> </p>
<span class="updated"></span>
<p class="copyright"><span class="updated">Last updated:
- <!-- #BeginDate format:fcAm1m -->Wednesday, December 14, 2005 10:58<!-- #EndDate -->
+ <!-- #BeginDate format:fcAm1m -->Sunday, December 2, 2007 19:03<!-- #EndDate -->
</span> </p>
</body>
</html>
Modified: branches/release/libs/wave/doc/preface.html
==============================================================================
--- branches/release/libs/wave/doc/preface.html (original)
+++ branches/release/libs/wave/doc/preface.html 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -23,7 +23,7 @@
<td width="30"></td>
</tr>
</table>
-<p>During the last time many new features were developed as additions to the <tt>Spirit</tt>
+<p>During the last time many new features have been developed as additions to the <tt>Spirit</tt>
<a href="references.html#spirit">[4]</a> parser construction framework and we
felt more and more, that it would be very helpful, to have a 'real world' example,
which could be used as a sandbox for testing the usability of certain features.
@@ -41,7 +41,7 @@
<p align="justify"> The C++ preprocessor is a macro processor that under normal
circumstances is used automatically by your C++ compiler to transform your program
before actual compilation. It is called a macro processor because it allows
- you to define macros, which are brief abbreviations for longer constructs. The
+ to define macros, which are brief abbreviations for longer constructs. The
C++ preprocessor provides four separate facilities that you can use as you see
fit: </p>
<blockquote>
@@ -61,7 +61,7 @@
generative metaprogramming combined with template metaprogramming in C++ is
by far one of the most powerful compile-time reflection/metaprogramming facilities
that any language has ever supported.</p>
-<p>The C++ Standard [2] was adopted back in 1998, but there is still no (known to me) C++ compiler, which has a bugfree implementation of the rather simple preprocessor requirements mandated therein. This may be a result of the mentioned underestimation or even banning of the preprocessor from good programming style during the last few years or may stem from the somewhat awkward standardese dialect of English used to describe it. </p>
+<p>The C++ Standard [2] was adopted back in 1998, but there is still no (known to me) commercial C++ compiler, which has a bugfree implementation of the rather simple preprocessor requirements mandated therein. This may be a result of the mentioned underestimation or even banning of the preprocessor from good programming style during the last few years or may stem from the somewhat awkward standardese dialect of English used to describe it. Two open source projects are exceptions of this: gcc and Clang (a subproject of LLVM), both providing preprocessors with very good standards conformance. </p>
<p align="justify">So the main goals for the <tt>Wave</tt> project are:</p>
<blockquote>
<p><b><img src="theme/bullet.gif" width="13" height="13" id="IMG1"> </b>full
@@ -88,8 +88,7 @@
preprocessors when complexity increases.</p>
<p>As tests showed, the <tt>Wave</tt> library is very conformant to the C++ Standard,
such that it compiles several strict conformant macro definitions, which are
- not even compilable with EDG based preprocessors (i.e. Comeau or Intel). The only preprocessor known to have similar Standards conformance
-today is the preprocessor of the gcc C/C++ compiler.</p>
+not even compilable with EDG based preprocessors (i.e. Comeau or Intel). </p>
<table border="0">
<tr>
<td width="10"></td>
@@ -104,7 +103,7 @@
<font size="2">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) </font> </p>
<span class="updated"></span>
<p class="copyright"><span class="updated">Last updated:
- <!-- #BeginDate format:fcAm1m -->Sunday, May 15, 2005 12:23<!-- #EndDate -->
+ <!-- #BeginDate format:fcAm1m -->Sunday, December 2, 2007 19:03<!-- #EndDate -->
</span></p>
</body>
</html>
Modified: branches/release/libs/wave/doc/quickstart.html
==============================================================================
--- branches/release/libs/wave/doc/quickstart.html (original)
+++ branches/release/libs/wave/doc/quickstart.html 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -24,7 +24,7 @@
<td width="30"></td>
</tr>
</table>
-<p>Preprocessing with Wave is highly configurable. You must
+<p>Preprocessing with <tt>Wave</tt> is highly configurable. You must
define a few options to control it. Here are a few of the
options you can define:</p>
<BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px">
@@ -38,13 +38,13 @@
</P>
</BLOCKQUOTE>
<p>You can access all these processing parameters through the <tt>boost::wave::context</tt>
- object. So you must instantiate one object of this type to use the <tt>Wave</tt>
+ object. So you must instantiate one object instance of this type to use the <tt>Wave</tt>
library. (For more information about the context template class, please refer
to the class reference here.) To instantiate
the <tt>boost::wave::context</tt> object you have to supply at least two template parameters:
the iterator type of the underlying input stream to use and the type of the lexer iterator to be used as the token source for the preprocessing engine.</p>
<P dir="ltr">Do not instantiate the main preprocessing iterators yourself.
-Get them from the wave::context object instead.
+Get them from the <tt>boost::wave::context</tt> object instead.
The following code snippet is taken from the <tt>quick_start</tt> sample, which shows a minimal usage scenario for <tt>Wave</tt>. </P>
<pre><span class="comment"> // The following preprocesses a given input file.
// Open the file and read it into a string variable</span>
@@ -115,7 +115,7 @@
<font size="2">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) </font> </p>
<span class="updated"></span>
<p class="copyright"><span class="updated">Last updated:
- <!-- #BeginDate format:fcAm1m -->Wednesday, July 26, 2006 19:28<!-- #EndDate -->
+ <!-- #BeginDate format:fcAm1m -->Sunday, December 2, 2007 19:06<!-- #EndDate -->
</span></p>
</body>
</html>
Modified: branches/release/libs/wave/index.html
==============================================================================
--- branches/release/libs/wave/index.html (original)
+++ branches/release/libs/wave/index.html 2007-12-02 20:21:53 EST (Sun, 02 Dec 2007)
@@ -10,7 +10,7 @@
<tr>
<td width="21"> <h1></h1></td>
<td width="885"> <font face="Verdana, Arial, Helvetica, sans-serif"><b><font size="6">Wave
- V1.2.4</font></b></font></td>
+ V1.3</font></b></font></td>
<td width="96"></td>
</tr>
</table>
@@ -104,7 +104,7 @@
<font size="2">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) </font> </p>
<span class="updated"></span>
<p class="copyright"><span class="updated">Last updated:
- <!-- #BeginDate format:fcAm1m -->Tuesday, May 23, 2006 12:37<!-- #EndDate -->
+ <!-- #BeginDate format:fcAm1m -->Sunday, December 2, 2007 18:57<!-- #EndDate -->
</span></p>
</body>
</html>
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk