spot 2.12.2
|
#include <spot/parsetl/parsetl.hh>
Public Types | |
typedef value_type | self_type |
Type of *this. More... | |
Public Member Functions | |
value_type () | |
Empty construction. More... | |
template<typename T > | |
value_type (const T &t) | |
Construct and fill. More... | |
~value_type () | |
Destruction, allowed only if empty. More... | |
template<typename T > | |
T & | emplace () |
Instantiate an empty T in here. More... | |
template<typename T > | |
T & | emplace (const T &t) |
Instantiate a T in here from t. More... | |
template<typename T > | |
T & | build () |
template<typename T > | |
T & | build (const T &t) |
template<typename T > | |
T & | as () |
Accessor to a built T. More... | |
template<typename T > | |
const T & | as () const |
Const accessor to a built T (for printer). More... | |
template<typename T > | |
void | swap (self_type &that) |
template<typename T > | |
void | move (self_type &that) |
template<typename T > | |
void | copy (const self_type &that) |
Copy the content of that to this. More... | |
template<typename T > | |
void | destroy () |
Destroy the stored T. More... | |
A buffer to store and retrieve objects.
Sort of a variant, but does not keep track of the nature of the stored data, since that knowledge is available via the current parser state.
Type of *this.
|
inline |
Empty construction.
|
inline |
Construct and fill.
|
inline |
Destruction, allowed only if empty.
|
inline |
|
inline |
Const accessor to a built T (for printer).
|
inline |
Instantiate an empty T in here. Obsolete, use emplace.
|
inline |
Instantiate a T in here from t. Obsolete, use emplace.
|
inline |
Copy the content of that to this.
References as().
|
inline |
Destroy the stored T.
Referenced by move().
|
inline |
Instantiate an empty T in here.
|
inline |
Instantiate a T in here from t.
|
inline |
|
inline |
Swap the content with that, of same type.
Both variants must be built beforehand, because swapping the actual data requires reading it (with as()), and this is not possible on unconstructed variants: it would require some dynamic testing, which should not be the variant's responsibility. Swapping between built and (possibly) non-built is done with self_type::move ().
long double tlyy::parser::value_type::yyalign_me_ |
Strongest alignment constraints.
char tlyy::parser::value_type::yyraw_[size] |
A buffer large enough to store any of the semantic values.