![]() |
Kea 3.1.0
|
A buffer to store and retrieve objects. More...
#include <d2_parser.h>
Public Types | |
typedef value_type | self_type |
Type of *this. | |
Public Member Functions | |
value_type () YY_NOEXCEPT | |
Empty construction. | |
template<typename T> | |
value_type (YY_RVREF(T) t) | |
Construct and fill. | |
~value_type () YY_NOEXCEPT | |
Destruction, allowed only if empty. | |
template<typename T> | |
const T & | as () const YY_NOEXCEPT |
Const accessor to a built T (for printer). | |
template<typename T> | |
T & | as () YY_NOEXCEPT |
Accessor to a built T. | |
template<typename T> | |
T & | build () |
Instantiate an empty T in here. | |
template<typename T> | |
T & | build (const T &t) |
Instantiate a T in here from t. | |
template<typename T> | |
void | copy (const self_type &that) |
Copy the content of that to this. | |
template<typename T> | |
void | destroy () |
Destroy the stored T. | |
template<typename T> | |
T & | emplace () |
Instantiate an empty T in here. | |
template<typename T> | |
T & | emplace (const T &t) |
Instantiate a T in here from t. | |
template<typename T> | |
void | move (self_type &that) |
Move the content of that to this. | |
template<typename T> | |
void | swap (self_type &that) YY_NOEXCEPT |
Swap the content with that, of same type. | |
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.
Definition at line 230 of file d2_parser.h.
Type of *this.
Definition at line 234 of file d2_parser.h.
|
inline |
|
inline |
Construct and fill.
Definition at line 244 of file d2_parser.h.
References D2_PARSER__ASSERT, YY_MOVE, and YY_RVREF.
|
inline |
Destruction, allowed only if empty.
Definition at line 259 of file d2_parser.h.
References D2_PARSER__ASSERT, and YY_NOEXCEPT.
|
inline |
Const accessor to a built T (for printer).
Definition at line 331 of file d2_parser.h.
References D2_PARSER__ASSERT, and YY_NOEXCEPT.
|
inline |
Accessor to a built T.
Definition at line 320 of file d2_parser.h.
References D2_PARSER__ASSERT, and YY_NOEXCEPT.
Referenced by copy(), destroy(), move(), isc::d2::D2Parser::parse(), and swap().
|
inline |
Instantiate an empty T in here.
Obsolete, use emplace.
Definition at line 303 of file d2_parser.h.
References emplace().
|
inline |
Instantiate a T in here from t.
Obsolete, use emplace.
Definition at line 312 of file d2_parser.h.
References emplace().
|
inline |
Copy the content of that to this.
Definition at line 386 of file d2_parser.h.
References as(), and emplace().
|
inline |
Destroy the stored T.
Definition at line 394 of file d2_parser.h.
References as().
Referenced by move().
|
inline |
Instantiate an empty T in here.
Definition at line 279 of file d2_parser.h.
References D2_PARSER__ASSERT.
Referenced by build(), build(), copy(), move(), and isc::d2::D2Parser::parse().
|
inline |
Instantiate a T in here from t.
Definition at line 290 of file d2_parser.h.
References D2_PARSER__ASSERT.
|
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 ().
Definition at line 349 of file d2_parser.h.
References as(), D2_PARSER__ASSERT, and YY_NOEXCEPT.
Referenced by move().
long double isc::d2::D2Parser::value_type::yyalign_me_ |
Strongest alignment constraints.
Definition at line 456 of file d2_parser.h.
char isc::d2::D2Parser::value_type::yyraw_[size] |
A buffer large enough to store any of the semantic values.
Definition at line 458 of file d2_parser.h.
Referenced by value_type().