# C++ skeleton for Bison
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 2002-2012 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
/// via the current state.
template <size_t S>
struct variant
- {]b4_assert_if([
+ {]b4_parse_assert_if([
/// Whether something is contained.
bool built;
])[
/// Empty construction.
inline
- variant ()]b4_assert_if([
+ variant ()]b4_parse_assert_if([
: built (false)])[
{}
template <typename T>
inline T&
build ()
- {]b4_assert_if([
+ {]b4_parse_assert_if([
assert (!built);
built = true;])[
return *new (buffer.raw) T;
template <typename T>
inline T&
build (const T& t)
- {]b4_assert_if([
+ {]b4_parse_assert_if([
assert(!built);
built = true;])[
return *new (buffer.raw) T(t);
/// Construct and fill.
template <typename T>
inline
- variant (const T& t)]b4_assert_if([
+ variant (const T& t)]b4_parse_assert_if([
: built (true)])[
{
new (buffer.raw) T(t);
template <typename T>
inline T&
as ()
- {]b4_assert_if([
+ {]b4_parse_assert_if([
assert (built);])[
return reinterpret_cast<T&>(buffer.raw);
}
template <typename T>
inline const T&
as () const
- {]b4_assert_if([
+ {]b4_parse_assert_if([
assert(built);])[
return reinterpret_cast<const T&>(buffer.raw);
}
inline void
destroy ()
{
- as<T>().~T();]b4_assert_if([
+ as<T>().~T();]b4_parse_assert_if([
built = false;])[
}
[ static inline
symbol_type
make_[]b4_symbol_([$1], [id]) (dnl
-b4_args(b4_symbol_if([$1], [has_type],
+b4_join(b4_symbol_if([$1], [has_type],
[const b4_symbol([$1], [type])& v]),
b4_locations_if([const location_type& l])));
[b4_symbol_if([$1], [is_token], [b4_symbol_if([$1], [has_id],
[ b4_parser_class_name::symbol_type
b4_parser_class_name::make_[]b4_symbol_([$1], [id]) (dnl
-b4_args(b4_symbol_if([$1], [has_type],
+b4_join(b4_symbol_if([$1], [has_type],
[const b4_symbol([$1], [type])& v]),
b4_locations_if([const location_type& l])))
{
- return symbol_type (b4_args([yytranslate_ (token::b4_symbol([$1], [id]))],
+ return symbol_type (b4_join([token::b4_symbol([$1], [id])],
b4_symbol_if([$1], [has_type], [v]),
b4_locations_if([l])));
}