[#absl-chunked_queue]
= xref:absl.adoc[absl]::chunked&lowbar;queue
:relfileprefix: ../
:mrdocs:

A queue implemented as a linked list of fixed or variable sized blocks&period;

== Synopsis

Declared in `&lt;absl&sol;container&sol;chunked&lowbar;queue&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    typename T,
    size&lowbar;t BLo = 0,
    size&lowbar;t BHi = BLo,
    typename Allocator = std::allocator&lt;T&gt;&gt;
class chunked&lowbar;queue;
----

== Description

`absl&colon;&colon;chunked&lowbar;queue` provides the same interface as `std&colon;&colon;deque` minus random access&period; It is useful when memory usage is paramount as it provides finegrained and configurable block sizing&period;

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:absl/chunked_queue/allocator_type.adoc[`allocator&lowbar;type`] 
| The allocator type&period;
| xref:absl/chunked_queue/const_iterator.adoc[`const&lowbar;iterator`] 
| A const forward iterator over the elements&period;
| xref:absl/chunked_queue/const_reference.adoc[`const&lowbar;reference`] 
| A const reference to an element&period;
| xref:absl/chunked_queue/difference_type.adoc[`difference&lowbar;type`] 
| A signed integer type used for iterator differences&period;
| xref:absl/chunked_queue/iterator.adoc[`iterator`] 
| A forward iterator over the elements&period;
| xref:absl/chunked_queue/reference.adoc[`reference`] 
| A reference to an element&period;
| xref:absl/chunked_queue/size_type.adoc[`size&lowbar;type`] 
| An unsigned integer type used for sizes&period;
| xref:absl/chunked_queue/value_type.adoc[`value&lowbar;type`] 
| The type of the elements stored in the queue&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:absl/chunked_queue/2constructor-0ad.adoc[`chunked&lowbar;queue`]         [.small]#[constructor]#
| Constructors
| xref:absl/chunked_queue/2destructor.adoc[`&#126;chunked&lowbar;queue`] [.small]#[destructor]#
| Destroys the queue and frees all allocated storage&period;
| xref:absl/chunked_queue/operator_assign-0b.adoc[`operator&equals;`] 
| Assignment operators
| xref:absl/chunked_queue/assign-06.adoc[`assign`] 
| `assign` overloads
| xref:absl/chunked_queue/back-0b.adoc[`back`] 
| `back` overloads
| xref:absl/chunked_queue/begin-01.adoc[`begin`] 
| `begin` overloads
| xref:absl/chunked_queue/cbegin.adoc[`cbegin`] 
| Returns a const iterator to the first element&period;
| xref:absl/chunked_queue/cend.adoc[`cend`] 
| Returns a const iterator past the last element&period;
| xref:absl/chunked_queue/clear.adoc[`clear`] 
| Erases all elements from the container&period;
| xref:absl/chunked_queue/emplace_back.adoc[`emplace&lowbar;back`] 
| Appends a new element to the end of the container&period;
| xref:absl/chunked_queue/empty.adoc[`empty`] 
| Returns true if the queue contains no elements&period;
| xref:absl/chunked_queue/end-04.adoc[`end`] 
| `end` overloads
| xref:absl/chunked_queue/front-01.adoc[`front`] 
| `front` overloads
| xref:absl/chunked_queue/get_allocator.adoc[`get&lowbar;allocator`] 
| Returns the allocator associated with the container&period;
| xref:absl/chunked_queue/max_size.adoc[`max&lowbar;size`] 
| Returns the maximum number of elements the queue is able to hold&period;
| xref:absl/chunked_queue/pop_front.adoc[`pop&lowbar;front`] 
| Removes the first element of the container&period;
| xref:absl/chunked_queue/push_back-024.adoc[`push&lowbar;back`] 
| Appends the given element value to the end of the container&period;
| xref:absl/chunked_queue/resize-0a.adoc[`resize`] 
| Resizes the container to contain `new&lowbar;size` elements&period;
| xref:absl/chunked_queue/shrink_to_fit.adoc[`shrink&lowbar;to&lowbar;fit`] 
| Requests the removal of unused capacity&period;
| xref:absl/chunked_queue/size.adoc[`size`] 
| Returns the number of elements in the queue&period;
| xref:absl/chunked_queue/swap.adoc[`swap`] 
| Swaps the contents of this queue with `other`&period;
|===


== Static Data Members

[cols="1,4"]
|===
| Name| Description
| xref:absl/chunked_queue/kBlockSizeMax.adoc[`kBlockSizeMax`] 
| The maximum block size, in elements&period;
| xref:absl/chunked_queue/kBlockSizeMin.adoc[`kBlockSizeMin`] 
| The minimum block size, in elements&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:absl/swap-027.adoc[`swap`]
| Swaps the contents of two `absl&colon;&colon;chunked&lowbar;queue` containers&period;
|===


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