1c5f01b2fSopenharmony_ci# <small>nlohmann::basic_json::</small>front
2c5f01b2fSopenharmony_ci
3c5f01b2fSopenharmony_ci```cpp
4c5f01b2fSopenharmony_cireference front();
5c5f01b2fSopenharmony_ciconst_reference front() const;
6c5f01b2fSopenharmony_ci```
7c5f01b2fSopenharmony_ci
8c5f01b2fSopenharmony_ciReturns a reference to the first element in the container. For a JSON container `#!cpp c`, the expression
9c5f01b2fSopenharmony_ci`#!cpp c.front()` is equivalent to `#!cpp *c.begin()`.
10c5f01b2fSopenharmony_ci    
11c5f01b2fSopenharmony_ci## Return value
12c5f01b2fSopenharmony_ci
13c5f01b2fSopenharmony_ciIn case of a structured type (array or object), a reference to the first element is returned. In case of number, string,
14c5f01b2fSopenharmony_ciboolean, or binary values, a reference to the value is returned.
15c5f01b2fSopenharmony_ci
16c5f01b2fSopenharmony_ci## Exception safety
17c5f01b2fSopenharmony_ci
18c5f01b2fSopenharmony_ciStrong guarantee: if an exception is thrown, there are no changes in the JSON value.
19c5f01b2fSopenharmony_ci
20c5f01b2fSopenharmony_ci## Exceptions
21c5f01b2fSopenharmony_ci
22c5f01b2fSopenharmony_ciIf the JSON value is `#!json null`, exception
23c5f01b2fSopenharmony_ci[`invalid_iterator.214`](../../home/exceptions.md#jsonexceptioninvalid_iterator214) is thrown.
24c5f01b2fSopenharmony_ci
25c5f01b2fSopenharmony_ci## Complexity
26c5f01b2fSopenharmony_ci
27c5f01b2fSopenharmony_ciConstant.
28c5f01b2fSopenharmony_ci
29c5f01b2fSopenharmony_ci## Notes
30c5f01b2fSopenharmony_ci
31c5f01b2fSopenharmony_ci!!! info "Precondition"
32c5f01b2fSopenharmony_ci
33c5f01b2fSopenharmony_ci    The array or object must not be empty. Calling `front` on an empty array or object yields undefined behavior.
34c5f01b2fSopenharmony_ci
35c5f01b2fSopenharmony_ci## Examples
36c5f01b2fSopenharmony_ci
37c5f01b2fSopenharmony_ci??? example
38c5f01b2fSopenharmony_ci
39c5f01b2fSopenharmony_ci    The following code shows an example for `front()`.
40c5f01b2fSopenharmony_ci     
41c5f01b2fSopenharmony_ci    ```cpp
42c5f01b2fSopenharmony_ci    --8<-- "examples/front.cpp"
43c5f01b2fSopenharmony_ci    ```
44c5f01b2fSopenharmony_ci    
45c5f01b2fSopenharmony_ci    Output:
46c5f01b2fSopenharmony_ci    
47c5f01b2fSopenharmony_ci    ```json
48c5f01b2fSopenharmony_ci    --8<-- "examples/front.output"
49c5f01b2fSopenharmony_ci    ```
50c5f01b2fSopenharmony_ci
51c5f01b2fSopenharmony_ci## See also
52c5f01b2fSopenharmony_ci
53c5f01b2fSopenharmony_ci- [back](back.md) to access the last element
54c5f01b2fSopenharmony_ci
55c5f01b2fSopenharmony_ci## Version history
56c5f01b2fSopenharmony_ci
57c5f01b2fSopenharmony_ci- Added in version 1.0.0.
58c5f01b2fSopenharmony_ci- Adjusted code to return reference to binary values in version 3.8.0.
59