[#BloombergLP-ball-Record]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::Record
:relfileprefix: ../../
:mrdocs:

Forward declaration of the log record type published by observers&period;

== Synopsis

Declared in `&lt;ball&lowbar;record&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class Record;
----

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/ball/Record/2constructor-08.adoc[`Record`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/ball/Record/operator_assign.adoc[`operator&equals;`] 
| Assign to this log record the value of the specified `rhs` log record and return the reference to this modifiable record&period;
| xref:BloombergLP/ball/Record/addAttribute.adoc[`addAttribute`] 
| Add a managed copy of the specified `attribute` to the container of attributes maintained by this log record&period;
| xref:BloombergLP/ball/Record/attributes.adoc[`attributes`] 
| Return a reference providing non&hyphen;modifiable access to the attributes of this log record&period;
| xref:BloombergLP/ball/Record/clear.adoc[`clear`] 
| Clear this log record by removing the user fields, attributes, and clearing the fixed field&apos;s message buffer&period; Note that this method is tailored for efficient memory use within the `ball` logging system&period;
| xref:BloombergLP/ball/Record/customFields-06.adoc[`customFields`] 
| `customFields` overloads
| xref:BloombergLP/ball/Record/fixedFields-08.adoc[`fixedFields`] 
| `fixedFields` overloads
| xref:BloombergLP/ball/Record/numAllocatedBytes.adoc[`numAllocatedBytes`] 
| Return the total number of bytes of dynamic memory allocated by this log record object&period; Note that this value does not include `sizeof &ast;this`&period;
| xref:BloombergLP/ball/Record/print.adoc[`print`] 
| Format this object to the specified output `stream` at the optionally specified indentation `level` and return a reference to the modifiable `stream`&period; If `level` is specified, optionally specify `spacesPerLevel`, the number of spaces per indentation level for this and all of its nested objects&period; Each line is indented by the absolute value of `level &ast; spacesPerLevel`&period; If `level` is negative, suppress indentation of the first line&period; If `spacesPerLevel` is negative, suppress line breaks and format the entire output on one line&period; If `stream` is initially invalid, this operation has no effect&period;
| xref:BloombergLP/ball/Record/setCustomFields.adoc[`setCustomFields`] 
| Set the custom user&hyphen;defined fields of this log record to the value of the specified `userFields`&period;
| xref:BloombergLP/ball/Record/setFixedFields.adoc[`setFixedFields`] 
| Set the fixed fields of this log record to the value of the specified `fixedFields`&period;
| xref:BloombergLP/ball/Record/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration&lt;Record, UsesBslmaAllocator&gt;`] 
| Declare that this type uses a `bslma` allocator&period;
|===


== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/ball/Record/deleteObject.adoc[`deleteObject`] 
| Destroy the specified `&ast;object` and use the allocator held by `&ast;object` to deallocate its memory footprint&period; The behavior is undefined unless `object` is the address of a valid log record&period;
|===


== Friends

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/ball/operator_eq-031.adoc[BloombergLP::ball::operator&equals;&equals;]`
| Return `true` if the specified `lhs` and `rhs` log records have the same value, and `false` otherwise&period; Two log records have the same value if the respective fixed fields have the same value and the respective user&hyphen;defined fields have the same value&period;
|===

== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/ball/operator_not_eq-08.adoc[`operator!&equals;`]
| Return `true` if the specified `lhs` and `rhs` log records do not have the same value, and `false` otherwise&period; Two log records do not have the same value if either the respective fixed fields or user&hyphen;defined fields do not have the same value&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
