[#BloombergLP-bdld-ManagedDatum] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdld.adoc[bdld]::ManagedDatum :relfileprefix: ../../ :mrdocs: This class implements a smart‐pointer‐like resource manager for a `Datum` object. == Synopsis Declared in `<bdld_manageddatum.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class ManagedDatum; ---- == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdld/ManagedDatum/allocator_type.adoc[`allocator_type`] | Alias for the allocator type used by this class. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdld/ManagedDatum/2constructor-0e.adoc[`ManagedDatum`] [.small]#[constructor]# | Constructors | xref:BloombergLP/bdld/ManagedDatum/2destructor.adoc[`~ManagedDatum`] [.small]#[destructor]# | Destroy this object and release all dynamically allocated memory managed by this object. | xref:BloombergLP/bdld/ManagedDatum/operator_assign-02.adoc[`operator=`] | Assignment operators | xref:BloombergLP/bdld/ManagedDatum/adopt.adoc[`adopt`] | Take ownership of the specified `obj` and destroy the previously managed `Datum` object. | xref:BloombergLP/bdld/ManagedDatum/allocator.adoc[`allocator`] | Return `get_allocator().mechanism()`. | xref:BloombergLP/bdld/ManagedDatum/clone.adoc[`clone`] | Assign to this object a deep copy of the specified `value`. | xref:BloombergLP/bdld/ManagedDatum/datum.adoc[`datum`] | Return a `const` reference to the `Datum` object managed by this object. | xref:BloombergLP/bdld/ManagedDatum/get_allocator.adoc[`get_allocator`] | Return the allocator used by this object to supply memory. | xref:BloombergLP/bdld/ManagedDatum/makeNull.adoc[`makeNull`] | Make the `Datum` object managed by this object null and release all dynamically allocated memory managed by this object. | xref:BloombergLP/bdld/ManagedDatum/operator_star.adoc[`operator*`] | Return a `const` reference to the `Datum` object managed by this object. | xref:BloombergLP/bdld/ManagedDatum/operator_ptr.adoc[`operator‐>`] | Return an address providing non‐modifiable access to the `Datum` object managed by this object. | xref:BloombergLP/bdld/ManagedDatum/print.adoc[`print`] | Format this object to the specified output `stream` and return a reference to the modifiable `stream`. | xref:BloombergLP/bdld/ManagedDatum/release.adoc[`release`] | Return the managed `Datum` by value and set this object to null. | xref:BloombergLP/bdld/ManagedDatum/swap.adoc[`swap`] | Efficiently exchange the value of this object with that of `other`. | xref:BloombergLP/bdld/ManagedDatum/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<ManagedDatum, IsBitwiseMoveable>`] | `ManagedDatum` objects are allocator‐aware and bitwise movable. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdld/operator_not_eq-05.adoc[`operator!=`] | Return `true` if the specified `lhs` and `rhs` do not have the same value, and `false` otherwise. | xref:BloombergLP/bdld/operator_eq-08a.adoc[`operator==`] | Return `true` if the specified `lhs` and `rhs` have the same value, and `false` otherwise. | xref:BloombergLP/bdld/swap.adoc[`swap`] | Exchange the values of the specified `a` and `b` objects. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#