update boost on linux
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
|
||||
#include <boost/wave/wave_config.hpp>
|
||||
#include <boost/wave/token_ids.hpp>
|
||||
#include <boost/wave/util/unput_queue_iterator.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
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// This file contains the definition of several token sequence analyze
|
||||
// This file contains the definition of several token sequence analyze
|
||||
// and transformation utility functions needed during macro handling.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
@@ -41,7 +41,7 @@ namespace on_exit {
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// On destruction pop the first element of the list given as the argument
|
||||
// On destruction pop the first element of the list given as the argument
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
template <typename ContainerT>
|
||||
@@ -56,15 +56,15 @@ namespace on_exit {
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Append a given list to the list given as argument
|
||||
// On destruction pop the first element of the list given as argument
|
||||
// Append a given list to the list given as argument
|
||||
// On destruction pop the first element of the list given as argument
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
template <typename ContainerT>
|
||||
class splice_pop_front {
|
||||
public:
|
||||
splice_pop_front(ContainerT &list_, ContainerT &queue)
|
||||
: list(list_)
|
||||
splice_pop_front(ContainerT &list_, ContainerT &queue)
|
||||
: list(list_)
|
||||
{
|
||||
list.splice(list.end(), queue);
|
||||
}
|
||||
@@ -103,7 +103,7 @@ namespace on_exit {
|
||||
class assign
|
||||
{
|
||||
public:
|
||||
assign(IteratorT &it_, UnputIteratorT const &uit_)
|
||||
assign(IteratorT &it_, UnputIteratorT const &uit_)
|
||||
: it(it_), uit(uit_) {}
|
||||
~assign() { it = uit.base(); }
|
||||
|
||||
@@ -115,7 +115,7 @@ namespace on_exit {
|
||||
template <typename IteratorT>
|
||||
class assign<IteratorT, IteratorT> {
|
||||
public:
|
||||
assign(IteratorT &it_, IteratorT const &uit_)
|
||||
assign(IteratorT &it_, IteratorT const &uit_)
|
||||
: it(it_), uit(uit_) {}
|
||||
~assign() { it = uit; }
|
||||
|
||||
@@ -136,7 +136,7 @@ namespace impl {
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
template <typename StringT>
|
||||
inline bool
|
||||
inline bool
|
||||
is_special_macroname (StringT const &name)
|
||||
{
|
||||
if (name.size() < 7)
|
||||
@@ -148,7 +148,7 @@ is_special_macroname (StringT const &name)
|
||||
if ('_' == name[0] && '_' == name[1]) {
|
||||
StringT str = name.substr(2);
|
||||
|
||||
if (str == "cplusplus" || str == "STDC__" ||
|
||||
if (str == "cplusplus" || str == "STDC__" ||
|
||||
str == "TIME__" || str == "DATE__" ||
|
||||
str == "LINE__" || str == "FILE__" ||
|
||||
str == "INCLUDE_LEVEL__")
|
||||
@@ -166,20 +166,20 @@ is_special_macroname (StringT const &name)
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
template <typename TokenT>
|
||||
inline bool
|
||||
inline bool
|
||||
token_equals(TokenT const &left, TokenT const &right)
|
||||
{
|
||||
using namespace boost::wave;
|
||||
|
||||
if (IS_CATEGORY(left, ParameterTokenType)) {
|
||||
// if the existing token is of type T_PARAMETERBASE, then the right token
|
||||
// if the existing token is of type T_PARAMETERBASE, then the right token
|
||||
// must be of type T_IDENTIFIER or a keyword
|
||||
token_id id = token_id(right);
|
||||
|
||||
return (T_IDENTIFIER == id ||
|
||||
return (T_IDENTIFIER == id ||
|
||||
IS_CATEGORY(id, KeywordTokenType) ||
|
||||
IS_EXTCATEGORY(id, OperatorTokenType|AltExtTokenType) ||
|
||||
IS_CATEGORY(id, BoolLiteralTokenType)) &&
|
||||
IS_CATEGORY(id, BoolLiteralTokenType)) &&
|
||||
left.get_value() == right.get_value();
|
||||
}
|
||||
|
||||
@@ -196,8 +196,8 @@ token_equals(TokenT const &left, TokenT const &right)
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
template <typename ContainerT>
|
||||
inline bool
|
||||
definition_equals(ContainerT const &definition,
|
||||
inline bool
|
||||
definition_equals(ContainerT const &definition,
|
||||
ContainerT const &new_definition)
|
||||
{
|
||||
typedef typename ContainerT::const_iterator const_iterator_type;
|
||||
@@ -207,22 +207,22 @@ const_iterator_type last1 = definition.end();
|
||||
const_iterator_type first2 = new_definition.begin();
|
||||
const_iterator_type last2 = new_definition.end();
|
||||
|
||||
while (first1 != last1 && first2 != last2 && token_equals(*first1, *first2))
|
||||
while (first1 != last1 && first2 != last2 && token_equals(*first1, *first2))
|
||||
{
|
||||
// skip whitespace, if both sequences have a whitespace next
|
||||
token_id id1 = next_token<const_iterator_type>::peek(first1, last1, false);
|
||||
token_id id2 = next_token<const_iterator_type>::peek(first2, last2, false);
|
||||
|
||||
if (IS_CATEGORY(id1, WhiteSpaceTokenType) &&
|
||||
IS_CATEGORY(id2, WhiteSpaceTokenType))
|
||||
if (IS_CATEGORY(id1, WhiteSpaceTokenType) &&
|
||||
IS_CATEGORY(id2, WhiteSpaceTokenType))
|
||||
{
|
||||
// all consecutive whitespace tokens count as one whitespace
|
||||
// adjust first1 and first2 accordingly
|
||||
skip_whitespace(first1, last1);
|
||||
skip_whitespace(first2, last2);
|
||||
}
|
||||
else if (!IS_CATEGORY(id1, WhiteSpaceTokenType) &&
|
||||
!IS_CATEGORY(id2, WhiteSpaceTokenType))
|
||||
else if (!IS_CATEGORY(id1, WhiteSpaceTokenType) &&
|
||||
!IS_CATEGORY(id2, WhiteSpaceTokenType))
|
||||
{
|
||||
++first1;
|
||||
++first2;
|
||||
@@ -241,7 +241,7 @@ const_iterator_type last2 = new_definition.end();
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
template <typename ContainerT>
|
||||
inline bool
|
||||
inline bool
|
||||
parameters_equal(ContainerT const ¶meters, ContainerT const &new_parameters)
|
||||
{
|
||||
if (parameters.size() != new_parameters.size())
|
||||
@@ -284,7 +284,7 @@ trim_replacement_list (ContainerT &replacement_list)
|
||||
typename ContainerT::iterator end = replacement_list.end();
|
||||
typename ContainerT::iterator it = replacement_list.begin();
|
||||
|
||||
while (it != end && IS_CATEGORY(*it, WhiteSpaceTokenType)) {
|
||||
while (it != end && IS_CATEGORY(*it, WhiteSpaceTokenType)) {
|
||||
token_id id(*it);
|
||||
if (T_PLACEHOLDER != id && T_PLACEMARKER != id) {
|
||||
typename ContainerT::iterator next = it;
|
||||
@@ -303,13 +303,13 @@ trim_replacement_list (ContainerT &replacement_list)
|
||||
typename ContainerT::reverse_iterator rend = replacement_list.rend();
|
||||
typename ContainerT::reverse_iterator rit = replacement_list.rbegin();
|
||||
|
||||
while (rit != rend && IS_CATEGORY(*rit, WhiteSpaceTokenType))
|
||||
while (rit != rend && IS_CATEGORY(*rit, WhiteSpaceTokenType))
|
||||
++rit;
|
||||
|
||||
typename ContainerT::iterator end = replacement_list.end();
|
||||
typename ContainerT::iterator it = rit.base();
|
||||
|
||||
while (it != end && IS_CATEGORY(*it, WhiteSpaceTokenType)) {
|
||||
while (it != end && IS_CATEGORY(*it, WhiteSpaceTokenType)) {
|
||||
token_id id(*it);
|
||||
if (T_PLACEHOLDER != id && T_PLACEMARKER != id) {
|
||||
typename ContainerT::iterator next = it;
|
||||
@@ -372,7 +372,7 @@ remove_placeholders (ContainerT &replacement_list)
|
||||
}
|
||||
}
|
||||
|
||||
// remove all 'new' leading and trailing whitespace
|
||||
// remove all 'new' leading and trailing whitespace
|
||||
if (is_whitespace_only(replacement_list))
|
||||
trim_replacement_list(replacement_list);
|
||||
}
|
||||
@@ -396,7 +396,7 @@ trim_sequence_left (ContainerT &argument)
|
||||
argument.pop_front();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Remove all whitespace tokens on the right side of the given token sequence
|
||||
@@ -418,7 +418,7 @@ trim_sequence_right (ContainerT &argument)
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Remove all whitespace tokens on the left and right sides of the given token
|
||||
// Remove all whitespace tokens on the left and right sides of the given token
|
||||
// sequence
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
@@ -433,11 +433,11 @@ trim_sequence (ContainerT &argument)
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// call 'skipped_token' preprocessing hook
|
||||
template <typename ContextT>
|
||||
void call_skipped_token_hook(ContextT& ctx,
|
||||
void call_skipped_token_hook(ContextT& ctx,
|
||||
typename ContextT::token_type const& skipped)
|
||||
{
|
||||
#if BOOST_WAVE_USE_DEPRECIATED_PREPROCESSING_HOOKS != 0
|
||||
ctx.get_hooks().skipped_token(skipped);
|
||||
ctx.get_hooks().skipped_token(skipped);
|
||||
#else
|
||||
ctx.get_hooks().skipped_token(ctx.derived(), skipped);
|
||||
#endif
|
||||
@@ -449,20 +449,20 @@ void call_skipped_token_hook(ContextT& ctx,
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
template <typename ContextT, typename IteratorT>
|
||||
inline bool
|
||||
skip_to_token(ContextT& ctx, IteratorT &it, IteratorT const &end,
|
||||
inline bool
|
||||
skip_to_token(ContextT& ctx, IteratorT &it, IteratorT const &end,
|
||||
token_id id, bool& seen_newline)
|
||||
{
|
||||
using namespace boost::wave;
|
||||
if (token_id(*it) == id)
|
||||
if (token_id(*it) == id)
|
||||
return true;
|
||||
|
||||
// call_skipped_token_hook(ctx, *it);
|
||||
if (++it == end)
|
||||
if (++it == end)
|
||||
return false;
|
||||
|
||||
while (IS_CATEGORY(*it, WhiteSpaceTokenType) ||
|
||||
T_NEWLINE == token_id(*it))
|
||||
while (IS_CATEGORY(*it, WhiteSpaceTokenType) ||
|
||||
T_NEWLINE == token_id(*it))
|
||||
{
|
||||
if (T_NEWLINE == token_id(*it))
|
||||
seen_newline = true;
|
||||
@@ -476,7 +476,7 @@ skip_to_token(ContextT& ctx, IteratorT &it, IteratorT const &end,
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Get the full name of a given macro name (concatenate the string
|
||||
// Get the full name of a given macro name (concatenate the string
|
||||
// representations of the single tokens).
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
@@ -485,7 +485,7 @@ inline std::string
|
||||
get_full_name(IteratorT const &begin, IteratorT const &end)
|
||||
{
|
||||
std::string full_name;
|
||||
for (IteratorT err_it = begin; err_it != end; ++err_it)
|
||||
for (IteratorT err_it = begin; err_it != end; ++err_it)
|
||||
full_name += (*err_it).get_value().c_str();
|
||||
|
||||
return full_name;
|
||||
@@ -516,7 +516,7 @@ private:
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Convert a string of an arbitrary string compatible type to a internal
|
||||
// Convert a string of an arbitrary string compatible type to a internal
|
||||
// string (BOOST_WAVE_STRING)
|
||||
template <typename Target, typename Src>
|
||||
struct to_string_helper
|
||||
|
||||
Reference in New Issue
Block a user