[#BloombergLP-bdld-DatumArrayBuilder] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdld.adoc[bdld]::DatumArrayBuilder :relfileprefix: ../../ :mrdocs: This `class` provides a mechanism to build a `Datum` object having an array value in an exception‐safe manner. == Synopsis Declared in `<bdld_datumarraybuilder.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class DatumArrayBuilder; ---- == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdld/DatumArrayBuilder/SizeType.adoc[`SizeType`] | `SizeType` is an alias for an unsigned integral value, representing the capacity or length of a datum array. | xref:BloombergLP/bdld/DatumArrayBuilder/allocator_type.adoc[`allocator_type`] | |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdld/DatumArrayBuilder/2constructor-02.adoc[`DatumArrayBuilder`] [.small]#[constructor]# | Constructors | xref:BloombergLP/bdld/DatumArrayBuilder/2destructor.adoc[`~DatumArrayBuilder`] [.small]#[destructor]# | Destroy this object. If this object is holding a `Datum` array that has not been adopted, then the `Datum` array is disposed after destroying each of its elements. | xref:BloombergLP/bdld/DatumArrayBuilder/append.adoc[`append`] | Append the specified array `values` having the specified `length` to the `Datum` array being built by this object. The behavior is undefined unless `0 != length && 0 != values` and each element in `values` that needs dynamic memory, is allocated with the same allocator that was used to construct this object. The behavior is also undefined if `commit` has already been called on this object. | xref:BloombergLP/bdld/DatumArrayBuilder/capacity.adoc[`capacity`] | Return the capacity of the held `Datum` array. The behavior is undefined if `commit` has already been called on this object. Note that similar to the capacity of a `vector`, the returned capacity has no bearing on the value of the `Datum` array being constructed, but does indicate at which point additional memory will be required to grow the `Datum` array being built. | xref:BloombergLP/bdld/DatumArrayBuilder/commit.adoc[`commit`] | Return a `Datum` array value holding the elements supplied to `pushBack` or `append`. The caller is responsible for releasing the resources of the returned `Datum` object. Calling this method indicates that the caller is finished building the datum array and no further values shall be appended. It is undefined behavior to call any method of this object, other than the destructor, after `commit` has been called. | xref:BloombergLP/bdld/DatumArrayBuilder/get_allocator.adoc[`get_allocator`] | Return the allocator used by this object to supply memory. Note that if no allocator was supplied at construction the default allocator in effect at construction is used. | xref:BloombergLP/bdld/DatumArrayBuilder/pushBack.adoc[`pushBack`] | Append the specified `value` to the `Datum` array being built by this object. The behavior is undefined if `value` needs dynamic memory and was allocated using a different allocator than the one used to construct this object. The behavior is also undefined if `commit` has already been called on this object. | xref:BloombergLP/bdld/DatumArrayBuilder/size.adoc[`size`] | Return the size of the held `Datum` array. The behavior is undefined if `commit` has already been called on this object. | xref:BloombergLP/bdld/DatumArrayBuilder/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<DatumArrayBuilder, UsesBslmaAllocator>`] | Declare that this type uses a `bslma` allocator. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#