boost/libs/json/doc/qbk/03_00_dom.qbk
2021-10-05 21:37:46 +02:00

61 lines
1.8 KiB
Plaintext

[/
Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com)
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Official repository: https://github.com/cppalliance/json
]
[section:dom Document Model]
In this library the following types implement containers
used to represent JSON data in memory:
[table Container Types
[ [Type] [Description] ]
[ [__array__] [
A sequence container of JSON values supporting dynamic
size and fast, random access. The interface and performance
characteristics are similar to __std_vector__.
] ]
[ [__object__] [
An associative container of key-value pairs with unique
keys, where the key is a string and the mapped type is
a JSON value. Search, insertion, and removal have average
contant-time complexity. In addition, elements are stored
contiguously in memory allowing cache-friendly iteration.
] ]
[ [__string__] [
A contiguous range of characters. The library assumes that
the contents of the string holds only valid UTF-8.
] ]
[ [__value__] [
A special variant which can hold one of any of the six
standard JSON data types.
] ]
]
These containers are explored in-depth in the sections that follow.
[note
Sample code and identifiers used throughout are written as if
the following declarations are in effect:
```
#include <boost/json.hpp>
using namespace boost::json;
```
]
[/-----------------------------------------------------------------------------]
[include 03_01_value.qbk]
[include 03_02_string.qbk]
[include 03_03_array.qbk]
[include 03_04_object.qbk]
[include 03_05_numbers.qbk]
[include 03_06_conversion.qbk]
[include 03_07_init_lists.qbk]
[endsect]