BDE 4.14.0 Production release
|
#include <bsls_objectbuffer.h>
Public Member Functions | |
TYPE * | address () |
char * | buffer () |
TYPE & | object () |
const TYPE * | address () const |
const char * | buffer () const |
const TYPE & | object () const |
An instance of this union is a raw block of memory suitable for storing an object of type TYPE
. Specifically, the size and alignment of this union exactly matches that of TYPE
. A TYPE
object can be constructed into an ObjectBuffer
using the placement new
operator and can be destroyed by explicitly calling its destructor, ~TYPE()
. It is the user's responsibility to perform this construction and destruction; an ObjectBuffer
object does not manage the construction or destruction of any other objects.
Note that a collaboration is implied between ObjectBuffer
and the user. An ObjectBuffer
provides aligned memory and the user handles construction and destruction of the object contained within that memory.
|
inline |
Return the address of the first byte of this object, cast to a TYPE *
pointer.
|
inline |
Return the address of the first byte of this object, cast to a const TYPE *
pointer.
|
inline |
Return the address of the first byte of this object, cast to a char *
pointer.
|
inline |
Return the address of the first byte of this object, cast to a const char *
pointer.
|
inline |
Return a modifiable reference to the TYPE
object occupying this buffer. The referenced object has undefined state unless a valid TYPE
object has been constructed in this buffer.
|
inline |
Return a const
reference to the TYPE
object occupying this buffer. The referenced object has undefined state unless a valid TYPE
object has been constructed in this buffer.