6#include <bond/core/config.h>
8#include "omit_default.h"
17class OptionalDefault : boost::noncopyable
20 OptionalDefault(
const T& var)
24 boost::mpl::for_each<typename schema<T>::type::fields>(boost::ref(*
this));
32 template <
typename Field>
33 typename boost::enable_if_c<!is_bond_type<typename Field::field_type>::value
34 && std::is_same<
typename Field::field_modifier,
35 reflection::optional_field_modifier>::value>::type
36 operator()(
const Field&)
38 _default = _default && is_default(Field::GetVariable(_var), Field::metadata);
42 template <
typename Field>
43 typename boost::disable_if_c<!is_bond_type<typename Field::field_type>::value
44 && std::is_same<
typename Field::field_modifier,
45 reflection::optional_field_modifier>::value>::type
46 operator()(
const Field&)
namespace bond
Definition: apply.h:17