[#BloombergLP-bdljsn-JsonArray]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdljsn.adoc[bdljsn]::JsonArray
:relfileprefix: ../../
:mrdocs:

JSON array value providing a sequence&hyphen;container&hyphen;like interface&period;

== Synopsis

Declared in `&lt;bdljsn&lowbar;json&period;h&gt;`

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

== Description

This type is designed to replicate much of the standard sequence container interface, eliding interfaces that are less relevant for a non&hyphen;generic container&period; Note that a `bsl&colon;&colon;vector` is chosen for the implementation because our implementation permits the element type to be incomplete (when just spelling the type name)&period;

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdljsn/JsonArray/ConstIterator.adoc[`ConstIterator`] 
| Iterator providing non&hyphen;modifiable access to elements&period;
| xref:BloombergLP/bdljsn/JsonArray/Iterator-0d.adoc[`Iterator`] 
| Iterator providing modifiable access to elements&period;
| xref:BloombergLP/bdljsn/JsonArray/const_iterator.adoc[`const&lowbar;iterator`] 
| Iterator providing non&hyphen;modifiable access to elements&period;
| xref:BloombergLP/bdljsn/JsonArray/const_reference.adoc[`const&lowbar;reference`] 
| Reference providing non&hyphen;modifiable access to an element&period;
| xref:BloombergLP/bdljsn/JsonArray/difference_type.adoc[`difference&lowbar;type`] 
| Signed type used to represent distances between iterators&period;
| xref:BloombergLP/bdljsn/JsonArray/iterator-05.adoc[`iterator`] 
| Iterator providing modifiable access to elements&period;
| xref:BloombergLP/bdljsn/JsonArray/reference.adoc[`reference`] 
| Reference providing modifiable access to an element&period;
| xref:BloombergLP/bdljsn/JsonArray/size_type.adoc[`size&lowbar;type`] 
| Unsigned type used to represent sizes and indices&period;
| xref:BloombergLP/bdljsn/JsonArray/value_type.adoc[`value&lowbar;type`] 
| Type of the elements stored in this array&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdljsn/JsonArray/2constructor-0e.adoc[`JsonArray`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/bdljsn/JsonArray/operator_assign-04.adoc[`operator&equals;`] 
| Assignment operators
| xref:BloombergLP/bdljsn/JsonArray/allocator.adoc[`allocator`] 
| Return the allocator used by this object to allocate memory&period;
| xref:BloombergLP/bdljsn/JsonArray/assign-02.adoc[`assign`] 
| `assign` overloads
| xref:BloombergLP/bdljsn/JsonArray/back-068.adoc[`back`] 
| `back` overloads
| xref:BloombergLP/bdljsn/JsonArray/begin-0e.adoc[`begin`] 
| `begin` overloads
| xref:BloombergLP/bdljsn/JsonArray/cbegin.adoc[`cbegin`] 
| Return a const iterator to the first member of this object&period;
| xref:BloombergLP/bdljsn/JsonArray/cend.adoc[`cend`] 
| Return the past&hyphen;the&hyphen;end iterator providing non&hyphen;modifiable access to this `JsonArray`&period;
| xref:BloombergLP/bdljsn/JsonArray/clear.adoc[`clear`] 
| Remove all elements from this array&period;
| xref:BloombergLP/bdljsn/JsonArray/empty.adoc[`empty`] 
| Return `true` if this `JsonArray` has size 0, and `false` otherwise&period;
| xref:BloombergLP/bdljsn/JsonArray/end-01.adoc[`end`] 
| `end` overloads
| xref:BloombergLP/bdljsn/JsonArray/erase-0b.adoc[`erase`] 
| `erase` overloads
| xref:BloombergLP/bdljsn/JsonArray/front-01.adoc[`front`] 
| `front` overloads
| xref:BloombergLP/bdljsn/JsonArray/insert-0e4.adoc[`insert`] 
| `insert` overloads
| xref:BloombergLP/bdljsn/JsonArray/maxSize.adoc[`maxSize`] 
| Return a theoretical upper bound on this array&apos;s maximum size&period;
| xref:BloombergLP/bdljsn/JsonArray/operator_subs-0b.adoc[`operator&lsqb;&rsqb;`] 
| Subscript operators
| xref:BloombergLP/bdljsn/JsonArray/popBack.adoc[`popBack`] 
| Erase the last element from this `JsonArray`&period; The behavior is undefined if this `JsonArray` is empty&period;
| xref:BloombergLP/bdljsn/JsonArray/print.adoc[`print`] 
| Write this value to the specified output stream in a human&hyphen;readable format&period;
| xref:BloombergLP/bdljsn/JsonArray/pushBack-0b8.adoc[`pushBack`] 
| `pushBack` overloads
| xref:BloombergLP/bdljsn/JsonArray/resize-00.adoc[`resize`] 
| `resize` overloads
| xref:BloombergLP/bdljsn/JsonArray/size.adoc[`size`] 
| Return the number of elements in this `JsonArray`&period;
| xref:BloombergLP/bdljsn/JsonArray/swap.adoc[`swap`] 
| Exchange the value of this object with that of `other`&period;
| xref:BloombergLP/bdljsn/JsonArray/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration&lt;JsonArray, HasPrintMethod&gt;`] 
| Declare that this type uses a `bslma` allocator&period;
|===


== Friends

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/bdljsn/swap-02.adoc[BloombergLP::bdljsn::swap]`
| Exchange the values of the specified `a` and `b` arrays&period;
| `xref:BloombergLP/bdljsn/operator_not_eq-01ca.adoc[BloombergLP::bdljsn::operator!&equals;]`
| Return whether `lhs` and `rhs` do not have the same value&period;
| `xref:BloombergLP/bdljsn/operator_eq-061.adoc[BloombergLP::bdljsn::operator&equals;&equals;]`
| Return whether `lhs` and `rhs` have the same value&period;
|===

== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdljsn/operator_not_eq-01d.adoc[`operator!&equals;`]
| Return whether `lhs` and `rhs` do not have the same value&period;
| xref:BloombergLP/bdljsn/operator_eq-0dd1.adoc[`operator&equals;&equals;`]
| Return whether `lhs` and `rhs` have the same value&period;
|===


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