mirror of
https://github.com/nlohmann/json.git
synced 2025-07-28 12:02:00 +03:00
📝 add more API documentation
This commit is contained in:
50
doc/mkdocs/docs/api/basic_json/binary.md
Normal file
50
doc/mkdocs/docs/api/basic_json/binary.md
Normal file
@ -0,0 +1,50 @@
|
||||
# basic_json::binary
|
||||
|
||||
```cpp
|
||||
// (1)
|
||||
static basic_json binary(const typename binary_t::container_type& init);
|
||||
static basic_json binary(typename binary_t::container_type&& init);
|
||||
|
||||
// (2)
|
||||
static basic_json binary(const typename binary_t::container_type& init,
|
||||
std::uint8_t subtype);
|
||||
static basic_json binary(typename binary_t::container_type&& init,
|
||||
std::uint8_t subtype);
|
||||
```
|
||||
|
||||
1. Creates a JSON binary array value from a given binary container.
|
||||
2. Creates a JSON binary array value from a given binary container with subtype.
|
||||
|
||||
Binary values are part of various binary formats, such as CBOR, MessagePack, and BSON. This constructor is used to
|
||||
create a value for serialization to those formats.
|
||||
|
||||
## Parameters
|
||||
|
||||
`init` (in)
|
||||
: container containing bytes to use as binary type
|
||||
|
||||
`subtype` (in)
|
||||
: subtype to use in CBOR, MessagePack, and BSON
|
||||
|
||||
## Return value
|
||||
|
||||
JSON binary array value
|
||||
|
||||
## Exception safety
|
||||
|
||||
Strong guarantee: if an exception is thrown, there are no changes in the JSON value.
|
||||
|
||||
## Complexity
|
||||
|
||||
Linear in the size of `init`; constant for `typename binary_t::container_type&& init` versions.
|
||||
|
||||
## Notes
|
||||
|
||||
Note, this function exists because of the difficulty in correctly specifying the correct template overload in the
|
||||
standard value ctor, as both JSON arrays and JSON binary arrays are backed with some form of a `std::vector`. Because
|
||||
JSON binary arrays are a non-standard extension it was decided that it would be best to prevent automatic initialization
|
||||
of a binary array type, for backwards compatibility and so it does not happen on accident.
|
||||
|
||||
## Version history
|
||||
|
||||
- Added in version 3.8.0.
|
Reference in New Issue
Block a user