bool OmittedField()

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;
    }