11#include <initializer_list>
21template<
typename BasicJsonType>
43 : owned_value(
std::forward<Args>(args)...)
55 if (value_ref ==
nullptr)
57 return std::move(owned_value);
64 return value_ref ? *value_ref : owned_value;
#define WPI_JSON_NAMESPACE_END
Definition abi_macros.h:59
#define WPI_JSON_NAMESPACE_BEGIN
Definition abi_macros.h:53
json_ref(json_ref &&) noexcept=default
json_ref(const value_type &value)
Definition json_ref.h:31
json_ref(value_type &&value)
Definition json_ref.h:27
value_type const & operator*() const
Definition json_ref.h:62
value_type const * operator->() const
Definition json_ref.h:67
json_ref(std::initializer_list< json_ref > init)
Definition json_ref.h:35
json_ref(Args &&... args)
Definition json_ref.h:42
value_type moved_or_copied() const
Definition json_ref.h:53
BasicJsonType value_type
Definition json_ref.h:25
detail namespace with internal helper functions
Definition input_adapters.h:32
typename std::enable_if< B, T >::type enable_if_t
Definition cpp_future.h:38
@ value
the parser finished reading a JSON value
Implement std::hash so that hash_code can be used in STL containers.
Definition PointerIntPair.h:280