[#BloombergLP-bsls-ObjectBuffer]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bsls.adoc[bsls]::ObjectBuffer
:relfileprefix: ../../
:mrdocs:

An instance of this union is a raw block of memory suitable for storing an object of type `TYPE`&period; Specifically, the size and alignment of this union exactly matches that of `TYPE`&period; A `TYPE` object can be constructed into an `ObjectBuffer` using the placement `new` operator and can be destroyed by explicitly calling its destructor, `&#126;TYPE()`&period; It is the user&apos;s responsibility to perform this construction and destruction&semi; an `ObjectBuffer` object does not manage the construction or destruction of any other objects&period;

== Synopsis

Declared in `&lt;bsls&lowbar;objectbuffer&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class TYPE&gt;
union ObjectBuffer;
----

== Description

Note that a collaboration is implied between `ObjectBuffer` and the user&period; An `ObjectBuffer` provides aligned memory and the user handles construction and destruction of the object contained within that memory&period;

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bsls/ObjectBuffer/address-04.adoc[`address`] 
| `address` overloads
| xref:BloombergLP/bsls/ObjectBuffer/buffer-0d.adoc[`buffer`] 
| `buffer` overloads
| xref:BloombergLP/bsls/ObjectBuffer/object-06.adoc[`object`] 
| `object` overloads
|===



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