[#BloombergLP-ball-UserFields] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::UserFields :relfileprefix: ../../ :mrdocs: This class implements a value‐semantic type for representing a sequence of (randomly accessible) user field values. == Synopsis Declared in `<ball_userfields.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class UserFields; ---- == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/ball/UserFields/ConstIterator.adoc[`ConstIterator`] | Constant iterator over the user field values in this object. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/ball/UserFields/2constructor-0d.adoc[`UserFields`] [.small]#[constructor]# | Constructors | xref:BloombergLP/ball/UserFields/operator_assign.adoc[`operator=`] | Assign to this object the value of the specified `rhs` object, and return a reference providing modifiable access to this object. | xref:BloombergLP/ball/UserFields/allocator.adoc[`allocator`] | Return the allocator used by this object to supply memory. Note that if no allocator was supplied at construction the currently installed default allocator is used. | xref:BloombergLP/ball/UserFields/append.adoc[`append`] | Append the specified `value` to this object. | xref:BloombergLP/ball/UserFields/appendCharArray.adoc[`appendCharArray`] | Append the specified `value` to this object. | xref:BloombergLP/ball/UserFields/appendDatetimeTz.adoc[`appendDatetimeTz`] | Append the specified datetime‐with‐timezone `value` to this object. | xref:BloombergLP/ball/UserFields/appendDouble.adoc[`appendDouble`] | Append the specified floating‐point `value` to this object. | xref:BloombergLP/ball/UserFields/appendInt64.adoc[`appendInt64`] | Append the specified 64‐bit integer `value` to this object. | xref:BloombergLP/ball/UserFields/appendNull.adoc[`appendNull`] | Append an element having the unset value to this object. | xref:BloombergLP/ball/UserFields/appendString.adoc[`appendString`] | Append the specified string `value` to this object. | xref:BloombergLP/ball/UserFields/begin.adoc[`begin`] | Return an iterator providing non‐modifiable access to the first element in the sequence of user field values maintained by this object, or the `end` iterator if this object is empty. | xref:BloombergLP/ball/UserFields/end.adoc[`end`] | Return an iterator providing non‐modifiable access to the past‐the‐end element in the sequence of user field values maintained by this object. | xref:BloombergLP/ball/UserFields/length.adoc[`length`] | Return the number of user field values in this object. | xref:BloombergLP/ball/UserFields/operator_subs-0a.adoc[`operator[]`] | Subscript operators | xref:BloombergLP/ball/UserFields/print.adoc[`print`] | Write the value of this object to the specified output `stream` in a human‐readable format, and return a reference to `stream`. Optionally specify an initial indentation `level`, whose absolute value is incremented recursively for nested objects. If `level` is specified, optionally specify `spacesPerLevel`, whose absolute value indicates the number of spaces per indentation level for this and all of its nested objects. If `level` is negative, suppress indentation of the first line. If `spacesPerLevel` is negative, format the entire output on one line, suppressing all but the initial indentation (as governed by `level`). If `stream` is not valid on entry, this operation has no effect. Note that the format is not fully specified, and can change without notice. | xref:BloombergLP/ball/UserFields/removeAll.adoc[`removeAll`] | Remove all of the user field values from this object. After this method is called `length` is 0. | xref:BloombergLP/ball/UserFields/swap.adoc[`swap`] | Efficiently exchange the value of this object with the value of the specified `other` object. This method provides the no‐throw exception‐safety guarantee. The behavior is undefined unless this object was created with the same allocator as `other`. | xref:BloombergLP/ball/UserFields/value-02.adoc[`value`] | Same as the preceding overload. | xref:BloombergLP/ball/UserFields/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<UserFields, UsesBslmaAllocator>`] | Declare that this type uses a `bslma` allocator. |=== == Friends [cols="1,4"] |=== | Name| Description | `xref:BloombergLP/ball/swap-0e.adoc[BloombergLP::ball::swap]` | Swap the value of the specified `a` object with the value of the specified `b` object. If `a` and `b` were created with the same allocator, then this method provides the no‐throw exception‐safety guarantee; otherwise, it provides the basic guarantee. | `xref:BloombergLP/ball/operator_eq-010.adoc[BloombergLP::ball::operator==]` | Return `true` if the specified `lhs` and `rhs` objects have the same value, and `false` otherwise. Two `ball::UserFields` objects have the same value if they have the same number of elements, and each element in `lhs` has the same value as corresponding element at the same index in `rhs`. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/ball/operator_not_eq-07.adoc[`operator!=`] | Return `true` if the specified `lhs` and `rhs` objects do not have the same value, and `false` otherwise. Two `UserFields` objects do not have the same value if they have a different number of elements, or if any element in `lhs` has a different value from the corresponding element at the same index in `rhs`. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#