in cpp/inc/bond/protocol/simple_json_writer.h [299:351]
bool OmittedField(uint16_t id, const Metadata& metadata, BondDataType type) const
{
if (_output._all_fields && !metadata.default_value.nothing)
{
switch (type)
{
case BT_BOOL:
Field(id, metadata, !!metadata.default_value.uint_value);
break;
case BT_UINT8:
case BT_UINT16:
case BT_UINT32:
case BT_UINT64:
Field(id, metadata, metadata.default_value.uint_value);
break;
case BT_FLOAT:
case BT_DOUBLE:
Field(id, metadata, metadata.default_value.double_value);
break;
case BT_STRING:
Field(id, metadata, metadata.default_value.string_value);
break;
case BT_STRUCT:
BOOST_ASSERT(false);
break;
case BT_LIST:
case BT_SET:
WriteName(detail::FieldName(metadata));
_output.WriteOpen('[');
_output.WriteClose(']');
break;
case BT_MAP:
WriteName(detail::FieldName(metadata));
_output.WriteOpen('{');
_output.WriteClose('}');
break;
case BT_INT8:
case BT_INT16:
case BT_INT32:
case BT_INT64:
Field(id, metadata, metadata.default_value.int_value);
break;
case BT_WSTRING:
Field(id, metadata, metadata.default_value.wstring_value);
break;
default:
BOOST_ASSERT(false);
break;
}
}
return false;
}