# C++ skeleton for Bison
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008-2009 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;])[
}