[#BloombergLP-bdlma-MemoryBlockDescriptor]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlma.adoc[bdlma]::MemoryBlockDescriptor
:relfileprefix: ../../
:mrdocs:

This is an in&hyphen;core value&hyphen;semantic class describing the size and address of a block of memory&period; A null block descriptor is defined as a descriptor having an address and size of 0&period; The behavior is undefined for a descriptor whose address is 0, but whose size if not also 0&period;

== Synopsis

Declared in `&lt;bdlma&lowbar;memoryblockdescriptor&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class MemoryBlockDescriptor;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlma/MemoryBlockDescriptor/size_type.adoc[`size&lowbar;type`] 
| This `typedef` is an alias for the block size type&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlma/MemoryBlockDescriptor/2constructor-0a11.adoc[`MemoryBlockDescriptor`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/bdlma/MemoryBlockDescriptor/operator_assign.adoc[`operator&equals;`] 
| Assign to this memory block descriptor the value of the specified `rhs` descriptor and return a reference to this modifiable descriptor&period;
| xref:BloombergLP/bdlma/MemoryBlockDescriptor/address.adoc[`address`] 
| Return the address of the modifiable memory block described by this object, or 0 if this is a null descriptor&period;
| xref:BloombergLP/bdlma/MemoryBlockDescriptor/isNull.adoc[`isNull`] 
| Return `true` if this memory block descriptor describes a null memory block and `false` otherwise&period; A null memory block has an address and size of 0&period;
| xref:BloombergLP/bdlma/MemoryBlockDescriptor/print.adoc[`print`] 
| Format the attributes of this memory block descriptor to `stdout` in some reasonable (single&hyphen;line) format&period;
| xref:BloombergLP/bdlma/MemoryBlockDescriptor/setAddressAndSize.adoc[`setAddressAndSize`] 
| Set the address and size of the memory block described by this object to the specified `address` and `size`&period; The behavior is undefined if `address&apos; is 0 but `size&grave; is not also 0&period;
| xref:BloombergLP/bdlma/MemoryBlockDescriptor/size.adoc[`size`] 
| Return the size of the memory block described by this object&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlma/operator_not_eq.adoc[`operator!&equals;`]
| Return `true` if the specified `lhs` and `rhs` memory block descriptors do not have the same value and `false` otherwise&period; Two descriptors differ in value if they differ in either their address or size&period;
| xref:BloombergLP/bdlma/operator_eq.adoc[`operator&equals;&equals;`]
| Return `true` if the specified `lhs` and `rhs` memory block descriptors have the same value and `false` otherwise&period; Two descriptors have the same value if and only if they have the same address and size&period;
|===


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