📝 add more examples
This commit is contained in:
parent
5f273119d9
commit
3af932e3f5
@ -0,0 +1,23 @@
|
||||
#include <iostream>
|
||||
#include <nlohmann/json.hpp>
|
||||
|
||||
// define a byte container based on std::vector
|
||||
using byte_container_with_subtype = nlohmann::byte_container_with_subtype<std::vector<std::uint8_t>>;
|
||||
|
||||
using json = nlohmann::json;
|
||||
|
||||
int main()
|
||||
{
|
||||
// (1) create empty container
|
||||
auto c1 = byte_container_with_subtype();
|
||||
|
||||
std::vector<std::uint8_t> bytes = {{0xca, 0xfe, 0xba, 0xbe}};
|
||||
|
||||
// (2) create container
|
||||
auto c2 = byte_container_with_subtype(bytes);
|
||||
|
||||
// (3) create container with subtype
|
||||
auto c3 = byte_container_with_subtype(bytes, 42);
|
||||
|
||||
std::cout << json(c1) << "\n" << json(c2) << "\n" << json(c3) << std::endl;
|
||||
}
|
||||
@ -0,0 +1,3 @@
|
||||
{"bytes":[],"subtype":null}
|
||||
{"bytes":[202,254,186,190],"subtype":null}
|
||||
{"bytes":[202,254,186,190],"subtype":42}
|
||||
21
docs/examples/byte_container_with_subtype__clear_subtype.cpp
Normal file
21
docs/examples/byte_container_with_subtype__clear_subtype.cpp
Normal file
@ -0,0 +1,21 @@
|
||||
#include <iostream>
|
||||
#include <nlohmann/json.hpp>
|
||||
|
||||
// define a byte container based on std::vector
|
||||
using byte_container_with_subtype = nlohmann::byte_container_with_subtype<std::vector<std::uint8_t>>;
|
||||
|
||||
using json = nlohmann::json;
|
||||
|
||||
int main()
|
||||
{
|
||||
std::vector<std::uint8_t> bytes = {{0xca, 0xfe, 0xba, 0xbe}};
|
||||
|
||||
// create container with subtype
|
||||
auto c1 = byte_container_with_subtype(bytes, 42);
|
||||
|
||||
std::cout << "before calling clear_subtype(): " << json(c1) << '\n';
|
||||
|
||||
c1.clear_subtype();
|
||||
|
||||
std::cout << "after calling clear_subtype(): " << json(c1) << '\n';
|
||||
}
|
||||
@ -0,0 +1,2 @@
|
||||
before calling clear_subtype(): {"bytes":[202,254,186,190],"subtype":42}
|
||||
after calling clear_subtype(): {"bytes":[202,254,186,190],"subtype":null}
|
||||
19
docs/examples/byte_container_with_subtype__has_subtype.cpp
Normal file
19
docs/examples/byte_container_with_subtype__has_subtype.cpp
Normal file
@ -0,0 +1,19 @@
|
||||
#include <iostream>
|
||||
#include <nlohmann/json.hpp>
|
||||
|
||||
// define a byte container based on std::vector
|
||||
using byte_container_with_subtype = nlohmann::byte_container_with_subtype<std::vector<std::uint8_t>>;
|
||||
|
||||
int main()
|
||||
{
|
||||
std::vector<std::uint8_t> bytes = {{0xca, 0xfe, 0xba, 0xbe}};
|
||||
|
||||
// create container
|
||||
auto c1 = byte_container_with_subtype(bytes);
|
||||
|
||||
// create container with subtype
|
||||
auto c2 = byte_container_with_subtype(bytes, 42);
|
||||
|
||||
std::cout << std::boolalpha << "c1.has_subtype() = " << c1.has_subtype()
|
||||
<< "\nc2.has_subtype() = " << c2.has_subtype() << std::endl;
|
||||
}
|
||||
@ -0,0 +1,2 @@
|
||||
c1.has_subtype() = false
|
||||
c2.has_subtype() = true
|
||||
22
docs/examples/byte_container_with_subtype__set_subtype.cpp
Normal file
22
docs/examples/byte_container_with_subtype__set_subtype.cpp
Normal file
@ -0,0 +1,22 @@
|
||||
#include <iostream>
|
||||
#include <nlohmann/json.hpp>
|
||||
|
||||
// define a byte container based on std::vector
|
||||
using byte_container_with_subtype = nlohmann::byte_container_with_subtype<std::vector<std::uint8_t>>;
|
||||
|
||||
using json = nlohmann::json;
|
||||
|
||||
int main()
|
||||
{
|
||||
std::vector<std::uint8_t> bytes = {{0xca, 0xfe, 0xba, 0xbe}};
|
||||
|
||||
// create container without subtype
|
||||
auto c = byte_container_with_subtype(bytes);
|
||||
|
||||
std::cout << "before calling set_subtype(42): " << json(c) << '\n';
|
||||
|
||||
// set the subtype
|
||||
c.set_subtype(42);
|
||||
|
||||
std::cout << "after calling set_subtype(42): " << json(c) << '\n';
|
||||
}
|
||||
@ -0,0 +1,2 @@
|
||||
before calling set_subtype(42): {"bytes":[202,254,186,190],"subtype":null}
|
||||
after calling set_subtype(42): {"bytes":[202,254,186,190],"subtype":42}
|
||||
22
docs/examples/byte_container_with_subtype__subtype.cpp
Normal file
22
docs/examples/byte_container_with_subtype__subtype.cpp
Normal file
@ -0,0 +1,22 @@
|
||||
#include <iostream>
|
||||
#include <nlohmann/json.hpp>
|
||||
|
||||
// define a byte container based on std::vector
|
||||
using byte_container_with_subtype = nlohmann::byte_container_with_subtype<std::vector<std::uint8_t>>;
|
||||
|
||||
int main()
|
||||
{
|
||||
std::vector<std::uint8_t> bytes = {{0xca, 0xfe, 0xba, 0xbe}};
|
||||
|
||||
// create container
|
||||
auto c1 = byte_container_with_subtype(bytes);
|
||||
|
||||
// create container with subtype
|
||||
auto c2 = byte_container_with_subtype(bytes, 42);
|
||||
|
||||
std::cout << "c1.subtype() = " << c1.subtype()
|
||||
<< "\nc2.subtype() = " << c2.subtype() << std::endl;
|
||||
|
||||
// in case no subtype is set, return special value
|
||||
assert(c1.subtype() == static_cast<byte_container_with_subtype::subtype_type>(-1));
|
||||
}
|
||||
@ -0,0 +1,2 @@
|
||||
c1.subtype() = 18446744073709551615
|
||||
c2.subtype() = 42
|
||||
19
docs/examples/json_pointer__operator_string.cpp
Normal file
19
docs/examples/json_pointer__operator_string.cpp
Normal file
@ -0,0 +1,19 @@
|
||||
#include <iostream>
|
||||
#include <nlohmann/json.hpp>
|
||||
|
||||
using json = nlohmann::json;
|
||||
|
||||
int main()
|
||||
{
|
||||
// different JSON Pointers
|
||||
json::json_pointer ptr1("/foo/0");
|
||||
json::json_pointer ptr2("/a~1b");
|
||||
|
||||
// implicit conversion to string
|
||||
std::string s;
|
||||
s += ptr1;
|
||||
s += "\n";
|
||||
s += ptr2;
|
||||
|
||||
std::cout << s << std::endl;
|
||||
}
|
||||
2
docs/examples/json_pointer__operator_string.output
Normal file
2
docs/examples/json_pointer__operator_string.output
Normal file
@ -0,0 +1,2 @@
|
||||
/foo/0
|
||||
/a~1b
|
||||
13
docs/examples/json_pointer__string_t.cpp
Normal file
13
docs/examples/json_pointer__string_t.cpp
Normal file
@ -0,0 +1,13 @@
|
||||
#include <iostream>
|
||||
#include <nlohmann/json.hpp>
|
||||
|
||||
using json = nlohmann::json;
|
||||
|
||||
int main()
|
||||
{
|
||||
json::json_pointer::string_t s = "This is a string.";
|
||||
|
||||
std::cout << s << std::endl;
|
||||
|
||||
std::cout << std::boolalpha << std::is_same<json::json_pointer::string_t, json::string_t>::value << std::endl;
|
||||
}
|
||||
2
docs/examples/json_pointer__string_t.output
Normal file
2
docs/examples/json_pointer__string_t.output
Normal file
@ -0,0 +1,2 @@
|
||||
This is a string.
|
||||
true
|
||||
@ -19,7 +19,6 @@ int main()
|
||||
json::json_pointer ptr11("/ ");
|
||||
json::json_pointer ptr12("/m~0n");
|
||||
|
||||
|
||||
std::cout << ptr1.to_string() << '\n'
|
||||
<< ptr2.to_string() << '\n'
|
||||
<< ptr3.to_string() << '\n'
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
using json = nlohmann::json;
|
||||
|
||||
// a simple event consumer that collects string representations of the passed
|
||||
// values; not inheriting from json::json_sax_t is not required, but can
|
||||
// values; note inheriting from json::json_sax_t is not required, but can
|
||||
// help not to forget a required function
|
||||
class sax_event_consumer : public json::json_sax_t
|
||||
{
|
||||
@ -15,79 +15,79 @@ class sax_event_consumer : public json::json_sax_t
|
||||
|
||||
bool null() override
|
||||
{
|
||||
events.push_back("value: null");
|
||||
events.push_back("null()");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool boolean(bool val) override
|
||||
{
|
||||
events.push_back("value: " + std::string(val ? "true" : "false"));
|
||||
events.push_back("boolean(val=" + std::string(val ? "true" : "false") + ")");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool number_integer(number_integer_t val) override
|
||||
{
|
||||
events.push_back("value: " + std::to_string(val));
|
||||
events.push_back("number_integer(val=" + std::to_string(val) + ")");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool number_unsigned(number_unsigned_t val) override
|
||||
{
|
||||
events.push_back("value: " + std::to_string(val));
|
||||
events.push_back("number_unsigned(val=" + std::to_string(val) + ")");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool number_float(number_float_t val, const string_t& s) override
|
||||
{
|
||||
events.push_back("value: " + s);
|
||||
events.push_back("number_float(val=" + std::to_string(val) + ", s=" + s + ")");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool string(string_t& val) override
|
||||
{
|
||||
events.push_back("value: " + val);
|
||||
events.push_back("string(val=" + val + ")");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool start_object(std::size_t elements) override
|
||||
{
|
||||
events.push_back("start: object");
|
||||
events.push_back("start_object(elements=" + std::to_string(elements) + ")");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool end_object() override
|
||||
{
|
||||
events.push_back("end: object");
|
||||
events.push_back("end_object()");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool start_array(std::size_t elements) override
|
||||
{
|
||||
events.push_back("start: array");
|
||||
events.push_back("start_array(elements=" + std::to_string(elements) + ")");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool end_array() override
|
||||
{
|
||||
events.push_back("end: array");
|
||||
events.push_back("end_array()");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool key(string_t& val) override
|
||||
{
|
||||
events.push_back("key: " + val);
|
||||
events.push_back("key(val=" + val + ")");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool binary(json::binary_t& val) override
|
||||
{
|
||||
events.push_back("binary");
|
||||
events.push_back("binary(val=[...])");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool parse_error(std::size_t position, const std::string& last_token, const json::exception& ex) override
|
||||
{
|
||||
events.push_back("error: " + std::string(ex.what()));
|
||||
events.push_back("parse_error(position=" + std::to_string(position) + ", last_token=" + last_token + ",\n ex=" + std::string(ex.what()) + ")");
|
||||
return false;
|
||||
}
|
||||
};
|
||||
@ -107,22 +107,23 @@ int main()
|
||||
"Width": 100
|
||||
},
|
||||
"Animated" : false,
|
||||
"IDs": [116, 943, 234, 38793],
|
||||
"IDs": [116, 943, 234, -38793],
|
||||
"DeletionDate": null,
|
||||
"Distance": 12.723374634
|
||||
}
|
||||
}
|
||||
}]
|
||||
)";
|
||||
|
||||
// create a SAX event consumer object
|
||||
sax_event_consumer sec;
|
||||
|
||||
// parse and serialize JSON
|
||||
// parse JSON
|
||||
bool result = json::sax_parse(text, &sec);
|
||||
|
||||
// output the recorded events
|
||||
for (auto& event : sec.events)
|
||||
{
|
||||
std::cout << "(" << event << ") ";
|
||||
std::cout << event << "\n";
|
||||
}
|
||||
|
||||
// output the result of sax_parse
|
||||
|
||||
@ -1,2 +1,37 @@
|
||||
(start: object) (key: Image) (start: object) (key: Width) (value: 800) (key: Height) (value: 600) (key: Title) (value: View from 15th Floor) (key: Thumbnail) (start: object) (key: Url) (value: http://www.example.com/image/481989943) (key: Height) (value: 125) (key: Width) (value: 100) (end: object) (key: Animated) (value: false) (key: IDs) (start: array) (value: 116) (value: 943) (value: 234) (value: 38793) (end: array) (key: Distance) (value: 12.723374634) (end: object) (end: object)
|
||||
result: true
|
||||
start_object(elements=18446744073709551615)
|
||||
key(val=Image)
|
||||
start_object(elements=18446744073709551615)
|
||||
key(val=Width)
|
||||
number_unsigned(val=800)
|
||||
key(val=Height)
|
||||
number_unsigned(val=600)
|
||||
key(val=Title)
|
||||
string(val=View from 15th Floor)
|
||||
key(val=Thumbnail)
|
||||
start_object(elements=18446744073709551615)
|
||||
key(val=Url)
|
||||
string(val=http://www.example.com/image/481989943)
|
||||
key(val=Height)
|
||||
number_unsigned(val=125)
|
||||
key(val=Width)
|
||||
number_unsigned(val=100)
|
||||
end_object()
|
||||
key(val=Animated)
|
||||
boolean(val=false)
|
||||
key(val=IDs)
|
||||
start_array(elements=18446744073709551615)
|
||||
number_unsigned(val=116)
|
||||
number_unsigned(val=943)
|
||||
number_unsigned(val=234)
|
||||
number_integer(val=-38793)
|
||||
end_array()
|
||||
key(val=DeletionDate)
|
||||
null()
|
||||
key(val=Distance)
|
||||
number_float(val=12.723375, s=12.723374634)
|
||||
end_object()
|
||||
end_object()
|
||||
parse_error(position=460, last_token=12.723374634<U+000A> }<U+000A> }],
|
||||
ex=[json.exception.parse_error.101] parse error at line 17, column 6: syntax error while parsing value - unexpected ']'; expected end of input)
|
||||
|
||||
result: false
|
||||
|
||||
114
docs/examples/sax_parse__binary.cpp
Normal file
114
docs/examples/sax_parse__binary.cpp
Normal file
@ -0,0 +1,114 @@
|
||||
#include <iostream>
|
||||
#include <iomanip>
|
||||
#include <sstream>
|
||||
#include <nlohmann/json.hpp>
|
||||
|
||||
using json = nlohmann::json;
|
||||
|
||||
// a simple event consumer that collects string representations of the passed
|
||||
// values; note inheriting from json::json_sax_t is not required, but can
|
||||
// help not to forget a required function
|
||||
class sax_event_consumer : public json::json_sax_t
|
||||
{
|
||||
public:
|
||||
std::vector<std::string> events;
|
||||
|
||||
bool null() override
|
||||
{
|
||||
events.push_back("null()");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool boolean(bool val) override
|
||||
{
|
||||
events.push_back("boolean(val=" + std::string(val ? "true" : "false") + ")");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool number_integer(number_integer_t val) override
|
||||
{
|
||||
events.push_back("number_integer(val=" + std::to_string(val) + ")");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool number_unsigned(number_unsigned_t val) override
|
||||
{
|
||||
events.push_back("number_unsigned(val=" + std::to_string(val) + ")");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool number_float(number_float_t val, const string_t& s) override
|
||||
{
|
||||
events.push_back("number_float(val=" + std::to_string(val) + ", s=" + s + ")");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool string(string_t& val) override
|
||||
{
|
||||
events.push_back("string(val=" + val + ")");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool start_object(std::size_t elements) override
|
||||
{
|
||||
events.push_back("start_object(elements=" + std::to_string(elements) + ")");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool end_object() override
|
||||
{
|
||||
events.push_back("end_object()");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool start_array(std::size_t elements) override
|
||||
{
|
||||
events.push_back("start_array(elements=" + std::to_string(elements) + ")");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool end_array() override
|
||||
{
|
||||
events.push_back("end_array()");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool key(string_t& val) override
|
||||
{
|
||||
events.push_back("key(val=" + val + ")");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool binary(json::binary_t& val) override
|
||||
{
|
||||
events.push_back("binary(val=[...])");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool parse_error(std::size_t position, const std::string& last_token, const json::exception& ex) override
|
||||
{
|
||||
events.push_back("parse_error(position=" + std::to_string(position) + ", last_token=" + last_token + ",\n ex=" + std::string(ex.what()) + ")");
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
// CBOR byte string
|
||||
std::vector<std::uint8_t> vec = {{0x44, 0xcA, 0xfe, 0xba, 0xbe}};
|
||||
|
||||
// create a SAX event consumer object
|
||||
sax_event_consumer sec;
|
||||
|
||||
// parse CBOR
|
||||
bool result = json::sax_parse(vec, &sec, json::input_format_t::cbor);
|
||||
|
||||
// output the recorded events
|
||||
for (auto& event : sec.events)
|
||||
{
|
||||
std::cout << event << "\n";
|
||||
}
|
||||
|
||||
// output the result of sax_parse
|
||||
std::cout << "\nresult: " << std::boolalpha << result << std::endl;
|
||||
}
|
||||
3
docs/examples/sax_parse__binary.output
Normal file
3
docs/examples/sax_parse__binary.output
Normal file
@ -0,0 +1,3 @@
|
||||
binary(val=[...])
|
||||
|
||||
result: true
|
||||
@ -31,6 +31,22 @@ bson
|
||||
bjdata
|
||||
: BJData (Binary JData)
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
The example below shows how an `input_format_t` enum value is passed to `sax_parse` to set the input format to CBOR.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/sax_parse__binary.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/sax_parse__binary.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
- Added in version 3.2.0.
|
||||
|
||||
@ -25,6 +25,22 @@ byte_container_with_subtype(container_type&& container, subtype_type subtype);
|
||||
`subtype` (in)
|
||||
: subtype
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
The example below demonstrates how byte containers can be created.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/byte_container_with_subtype__byte_container_with_subtype.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/byte_container_with_subtype__byte_container_with_subtype.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
Since version 3.8.0.
|
||||
|
||||
@ -15,6 +15,22 @@ No-throw guarantee: this function never throws exceptions.
|
||||
|
||||
Constant.
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
The example below demonstrates how `clear_subtype` can remove subtypes.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/byte_container_with_subtype__clear_subtype.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/byte_container_with_subtype__clear_subtype.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
Since version 3.8.0.
|
||||
|
||||
@ -18,6 +18,22 @@ No-throw guarantee: this function never throws exceptions.
|
||||
|
||||
Constant.
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
The example below demonstrates how `has_subtype` can check whether a subtype was set.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/byte_container_with_subtype__has_subtype.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/byte_container_with_subtype__has_subtype.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
Since version 3.8.0.
|
||||
|
||||
@ -20,6 +20,22 @@ No-throw guarantee: this function never throws exceptions.
|
||||
|
||||
Constant.
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
The example below demonstrates how a subtype can be set with `set_subtype`.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/byte_container_with_subtype__set_subtype.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/byte_container_with_subtype__set_subtype.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
Since version 3.8.0.
|
||||
|
||||
@ -19,6 +19,23 @@ No-throw guarantee: this function never throws exceptions.
|
||||
|
||||
Constant.
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
The example below demonstrates how the subtype can be retrieved with `subtype`. Note how `subtype_type(-1)` is
|
||||
returned for container `c1`.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/byte_container_with_subtype__subtype.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/byte_container_with_subtype__subtype.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
- Added in version 3.8.0
|
||||
|
||||
@ -19,6 +19,22 @@ operator string_t() const
|
||||
}
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
The example shows how JSON Pointers can be implicitly converted to strings.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/json_pointer__operator_string.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/json_pointer__operator_string.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
- Since version 2.0.0.
|
||||
|
||||
@ -7,6 +7,22 @@ The string type used for the reference tokens making up the JSON pointer.
|
||||
|
||||
See [`basic_json::string_t`](../basic_json/string_t.md) for more information.
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
The example shows the type `string_t` and its relation to `basic_json::string_t`.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/json_pointer__string_t.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/json_pointer__string_t.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
- Added in version 3.11.0.
|
||||
|
||||
@ -19,6 +19,22 @@ Whether parsing should proceed.
|
||||
|
||||
It is safe to move the passed binary value.
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
.The example below shows how the SAX interface is used.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/sax_parse__binary.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/sax_parse__binary.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
- Added in version 3.8.0.
|
||||
|
||||
@ -15,6 +15,22 @@ A boolean value was read.
|
||||
|
||||
Whether parsing should proceed.
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
.The example below shows how the SAX interface is used.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/sax_parse.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/sax_parse.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
- Added in version 3.2.0.
|
||||
|
||||
@ -10,6 +10,22 @@ The end of an array was read.
|
||||
|
||||
Whether parsing should proceed.
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
.The example below shows how the SAX interface is used.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/sax_parse.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/sax_parse.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
- Added in version 3.2.0.
|
||||
|
||||
@ -10,6 +10,22 @@ The end of an object was read.
|
||||
|
||||
Whether parsing should proceed.
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
.The example below shows how the SAX interface is used.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/sax_parse.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/sax_parse.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
- Added in version 3.2.0.
|
||||
|
||||
@ -19,6 +19,22 @@ Whether parsing should proceed.
|
||||
|
||||
It is safe to move the passed object key value.
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
.The example below shows how the SAX interface is used.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/sax_parse.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/sax_parse.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
- Added in version 3.2.0.
|
||||
|
||||
@ -10,6 +10,22 @@ A null value was read.
|
||||
|
||||
Whether parsing should proceed.
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
.The example below shows how the SAX interface is used.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/sax_parse.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/sax_parse.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
- Added in version 3.2.0.
|
||||
|
||||
@ -18,6 +18,22 @@ A floating-point number was read.
|
||||
|
||||
Whether parsing should proceed.
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
.The example below shows how the SAX interface is used.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/sax_parse.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/sax_parse.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
- Added in version 3.2.0.
|
||||
|
||||
@ -15,6 +15,22 @@ An integer number was read.
|
||||
|
||||
Whether parsing should proceed.
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
.The example below shows how the SAX interface is used.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/sax_parse.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/sax_parse.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
- Added in version 3.2.0.
|
||||
|
||||
@ -15,6 +15,22 @@ An unsigned integer number was read.
|
||||
|
||||
Whether parsing should proceed.
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
.The example below shows how the SAX interface is used.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/sax_parse.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/sax_parse.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
- Added in version 3.2.0.
|
||||
|
||||
@ -23,6 +23,22 @@ A parse error occurred.
|
||||
|
||||
Whether parsing should proceed (**must return `#!cpp false`**).
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
.The example below shows how the SAX interface is used.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/sax_parse.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/sax_parse.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
- Added in version 3.2.0.
|
||||
|
||||
@ -19,6 +19,22 @@ Whether parsing should proceed.
|
||||
|
||||
Binary formats may report the number of elements.
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
.The example below shows how the SAX interface is used.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/sax_parse.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/sax_parse.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
- Added in version 3.2.0.
|
||||
|
||||
@ -19,6 +19,22 @@ Whether parsing should proceed.
|
||||
|
||||
Binary formats may report the number of elements.
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
.The example below shows how the SAX interface is used.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/sax_parse.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/sax_parse.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
- Added in version 3.2.0.
|
||||
|
||||
@ -19,6 +19,22 @@ Whether parsing should proceed.
|
||||
|
||||
It is safe to move the passed string value.
|
||||
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
.The example below shows how the SAX interface is used.
|
||||
|
||||
```cpp
|
||||
--8<-- "examples/sax_parse.cpp"
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```json
|
||||
--8<-- "examples/sax_parse.output"
|
||||
```
|
||||
|
||||
## Version history
|
||||
|
||||
- Added in version 3.2.0.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user