![]() |
Home | Libraries | People | FAQ | More |
Determine if T should be
treated as an optional.
Defined in header <boost/json/conversion.hpp>
template< class T> struct is_optional_like;
Optionals are serialised as null
if empty, or as the stored type otherwise.
Given t, a glvalue of type
T, if
decltype(
t.value() ) is well-formed and isn't a void type;
and
t.reset()
is well-formed;
then the trait provides the member constant value
that is equal to true. Otherwise,
value is equal to false.
Users can specialize the trait for their own types if they don't want them to be treated as optionals. For example:
namespace boost { namespace json { template <> struct is_optional_like<your::optional> : std::false_type { }; } // namespace boost } // namespace json
Convenience header <boost/json.hpp>