|
|
| value (value const &) noexcept=default |
|
| value (value &&) noexcept=default |
|
value & | operator= (value const &) noexcept=default |
|
value & | operator= (value &&) noexcept=default |
| template<typename... ARGS> |
| | explicit (false) value(ARGS &&... args) noexcept |
| | explicit (false) value(json &&j) noexcept |
| | explicit (false) value(json const *j) noexcept |
| | explicit (false) value(json *j) noexcept |
| bool | is_lval () const noexcept |
| bool | is_rval () const noexcept |
| bool | is_ref () const noexcept |
| json & | lval () |
|
void | ref () &&=delete |
| json const & | ref () const & |
| json const & | forward () const & |
| json | forward () && |
| | explicit (false) operator json const &() const & |
| json const & | operator* () const & |
| | explicit (false) operator json() && |
| json | operator* () && |
| json const * | operator-> () const &noexcept |
Represents a single evaluated value; can store an rvalue (as json), an lvalue (json*), or a (const) reference (json const*); lvalues and refs are used purely in function arguments.
Notably, no garbage collection is performed, so take care around lifetimes of values and references.
Definition at line 43 of file eval.h.