[#Arena]
= Arena
:mrdocs:

An arena manages a contiguous region of memory by dividing it into chunks&period;

== Synopsis

Declared in `&lt;support&sol;lockedpool&period;h&gt;`

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

== Types

[cols="1,4"]
|===
| Name| Description
| xref:Arena/Stats-08.adoc[`Stats`] 
| Memory statistics&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:Arena/2constructor-08.adoc[`Arena`]         [.small]#[constructor]#
| Constructors
| xref:Arena/2destructor.adoc[`&#126;Arena`] [.small]#[destructor]# [.small]#[virtual]#
| Destroys the arena&period;
| xref:Arena/operator_assign.adoc[`operator&equals;`]  [.small]#[deleted]#
| Deleted copy assignment&semi; an Arena cannot be copied&period;
| xref:Arena/addressInArena.adoc[`addressInArena`] 
| Return whether a pointer points inside this arena&period; This returns base &lt;&equals; ptr &lt; (base&plus;size) so only use it for (inclusive) chunk starting addresses&period;
| xref:Arena/alloc.adoc[`alloc`] 
| Allocate size bytes from this arena&period; Returns pointer on success, or 0 if memory is full or the application tried to allocate 0 bytes&period;
| xref:Arena/free.adoc[`free`] 
| Free a previously allocated chunk of memory&period; Freeing the zero pointer has no effect&period; Raises std&colon;&colon;runtime&lowbar;error in case of error&period;
| xref:Arena/stats-06.adoc[`stats`] 
| Get arena usage statistics
|===



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