diff --git a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator-members.html b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator-members.html
index e5202aa95..ca2260848 100644
--- a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator-members.html
+++ b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator-members.html
@@ -29,7 +29,7 @@
 |
- simdjson 4.0.7
+ simdjson 4.1.0
Ridiculously Fast JSON
|
@@ -104,40 +104,40 @@ $(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_
@@ -152,7 +152,7 @@ simdjson_inline iterator
- | using simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::difference_type = std::ptrdiff_t |
+ using simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::difference_type = std::ptrdiff_t |
@@ -168,7 +168,7 @@ simdjson_inline | iterator
- | using simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::iterator_category = std::input_iterator_tag |
+ using simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::iterator_category = std::input_iterator_tag |
@@ -184,7 +184,7 @@ simdjson_inline | iterator
@@ -200,7 +200,7 @@ simdjson_inline | iterator
@@ -216,7 +216,7 @@ simdjson_inline | iterator
@@ -266,7 +266,7 @@ simdjson_inline | iterator
|
- | simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::at_end |
+ simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::at_end |
( |
| ) |
const |
@@ -324,9 +324,9 @@ simdjson_inline iterator
|
- | simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::operator!= |
+ simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::operator!= |
( |
- const iterator & |
+ const iterator & |
other | ) |
const |
@@ -418,9 +418,9 @@ simdjson_inline iterator
|
- | simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::operator== |
+ simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::operator== |
( |
- const iterator & |
+ const iterator & |
other | ) |
const |
diff --git a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field-members.html b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field-members.html
index 2a70ed5ff..3c08bbb60 100644
--- a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field-members.html
+++ b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field-members.html
@@ -29,7 +29,7 @@
 |
- simdjson 4.0.7
+ simdjson 4.1.0
Ridiculously Fast JSON
|
diff --git a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html
index f6e4b7e5c..2dfc41da0 100644
--- a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html
+++ b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html
@@ -29,7 +29,7 @@
 |
- simdjson 4.0.7
+ simdjson 4.1.0
Ridiculously Fast JSON
|
@@ -116,41 +116,41 @@ Inheritance diagram for simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field:
|
-| simdjson_inline | field () noexcept |
+| simdjson_inline | field () noexcept |
| | Create a new invalid field.
|
| |
-| simdjson_inline simdjson_warn_unused simdjson_result< std::string_view > | unescaped_key (bool allow_replacement=false) noexcept |
+| simdjson_inline simdjson_warn_unused simdjson_result< std::string_view > | unescaped_key (bool allow_replacement=false) noexcept |
| | Get the key as a string_view (for higher speed, consider raw_key).
|
| |
-| template<typename string_type > |
-| simdjson_inline simdjson_warn_unused error_code | unescaped_key (string_type &receiver, bool allow_replacement=false) noexcept |
+| template<typename string_type > |
+| simdjson_inline simdjson_warn_unused error_code | unescaped_key (string_type &receiver, bool allow_replacement=false) noexcept |
| | Get the key as a string_view (for higher speed, consider raw_key).
|
| |
-| simdjson_inline raw_json_string | key () const noexcept |
+| simdjson_inline raw_json_string | key () const noexcept |
| | Get the key as a raw_json_string.
|
| |
-| simdjson_inline std::string_view | key_raw_json_token () const noexcept |
+| simdjson_inline std::string_view | key_raw_json_token () const noexcept |
| | Get the unprocessed key as a string_view.
|
| |
-| simdjson_inline std::string_view | escaped_key () const noexcept |
+| simdjson_inline std::string_view | escaped_key () const noexcept |
| | Get the key as a string_view.
|
| |
-| simdjson_inline ondemand::value & | value () &noexcept |
+| simdjson_inline ondemand::value & | value () &noexcept |
| | Get the field value.
|
| |
-| simdjson_inline ondemand::value | value () &&noexcept |
+| simdjson_inline ondemand::value | value () &&noexcept |
| |
@@ -332,7 +332,7 @@ Static Protected Member Functions |
| simdjson_inline simdjson_result< field > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field::start |
( |
- const value_iterator & |
+ const value_iterator & |
parent_iter, |
@@ -398,8 +398,8 @@ Static Protected Member Functions
| simdjson_inline simdjson_warn_unused simdjson_result< std::string_view > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field::unescaped_key |
( |
- bool |
- allow_replacement = false | ) |
+ bool |
+ allow_replacement = false | ) |
|
@@ -424,7 +424,7 @@ Static Protected Member Functions |
+template<typename string_type >
|
@@ -432,14 +432,14 @@ template<simdjson_inline simdjson_warn_unused error_code simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field::unescaped_key |
( |
- string_type & |
+ string_type & |
receiver, |
|
|
- bool |
- allow_replacement = false |
+ bool |
+ allow_replacement = false |
|
diff --git a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object-members.html b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object-members.html
index 545994246..11963e887 100644
--- a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object-members.html
+++ b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object-members.html
@@ -29,7 +29,7 @@
 |
- simdjson 4.0.7
+ simdjson 4.1.0
Ridiculously Fast JSON
|
diff --git a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html
index f931219ba..cdf0ea841 100644
--- a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html
+++ b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html
@@ -29,7 +29,7 @@
 |
- simdjson 4.0.7
+ simdjson 4.1.0
Ridiculously Fast JSON
|
@@ -111,66 +111,66 @@ $(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_
|
-| simdjson_warn_unused simdjson_inline error_code | consume () noexcept |
+| simdjson_warn_unused simdjson_inline error_code | consume () noexcept |
| | Go to the end of the object, no matter where you are right now.
|
| |
-| simdjson_inline | object (const value_iterator &iter) noexcept |
+| simdjson_inline | object (const value_iterator &iter) noexcept |
| |
|
-simdjson_warn_unused simdjson_inline error_code | find_field_raw (const std::string_view key) noexcept |
+simdjson_warn_unused simdjson_inline error_code find_field_raw (const std::string_view key) noexcept |
| |
|
| simdjson_inline simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::object |
( |
- const value_iterator & |
+ const value_iterator & |
iter | ) |
|
@@ -493,13 +493,11 @@ Protected Attributes
Look up a field by name on an object (order-sensitive).
The following code reads z, then y, then x, and thus will not retrieve x or y if fed the JSON { "x": 1, "y": 2, "z": 3 }:
- ++
- simdjson::ondemand::parser parser;
-
- double z = obj.find_field( "z");
- double y = obj.find_field( "y");
- double x = obj.find_field( "x");
- A forward-only JSON array.
+ simdjson::ondemand::parser parser;
+ auto obj = parser.parse(R "( { "x": 1, "y": 2, "z": 3 } )"_padded);
+ double z = obj.find_field("z");
+ double y = obj.find_field("y");
+ double x = obj.find_field("x");
A JSON fragment iterator.
If you have multiple fields with a matching key ({"x": 1, "x": 1}) be mindful that only one field is returned.
Raw Keys: The lookup will be done against the raw key, and will not unescape keys. e.g. object["a"] will match { "a": 1 }, but will not match { "\u0061": 1 }.
@@ -600,7 +598,7 @@ Protected Attributes
- | simdjson_inline simdjson_result< bool > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::is_empty |
+ simdjson_inline simdjson_result< bool > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::is_empty |
( |
| ) |
& |
@@ -716,7 +714,7 @@ Protected Attributes
- | simdjson_inline simdjson_result< bool > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::reset |
+ simdjson_inline simdjson_result< bool > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::reset |
( |
| ) |
& |
@@ -749,7 +747,7 @@ Protected Attributes
| simdjson_inline object simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::resume |
( |
- const value_iterator & |
+ const value_iterator & |
iter | ) |
|
diff --git a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator-members.html b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator-members.html
index 0419ec8cd..ed6303d2c 100644
--- a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator-members.html
+++ b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator-members.html
@@ -29,7 +29,7 @@
 |
- simdjson 4.0.7
+ simdjson 4.1.0
Ridiculously Fast JSON
|
diff --git a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html
index 776c40112..4cfcc5d8b 100644
--- a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html
+++ b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html
@@ -29,7 +29,7 @@
 |
- simdjson 4.0.7
+ simdjson 4.1.0
Ridiculously Fast JSON
|
@@ -103,16 +103,16 @@ $(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_
@@ -158,9 +158,9 @@ Public Member Functions
- | simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator::operator!= |
+ simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator::operator!= |
( |
- const object_iterator & |
+ const object_iterator & |
| ) |
const |
@@ -240,9 +240,9 @@ Public Member Functions
- | simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator::operator== |
+ simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator::operator== |
( |
- const object_iterator & |
+ const object_iterator & |
other | ) |
const |
diff --git a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser-members.html b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser-members.html
index d92376e71..99222a7cf 100644
--- a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser-members.html
+++ b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser-members.html
@@ -29,7 +29,7 @@
 |
- simdjson 4.0.7
+ simdjson 4.1.0
Ridiculously Fast JSON
|
diff --git a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html
index 3da25cfda..6d8e220c5 100644
--- a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html
+++ b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html
@@ -29,7 +29,7 @@
 |
- simdjson 4.0.7
+ simdjson 4.1.0
Ridiculously Fast JSON
|
@@ -110,93 +110,93 @@ $(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_
|
-| | parser (size_t max_capacity=SIMDJSON_MAXSIZE_BYTES) noexcept |
+| | parser (size_t max_capacity=SIMDJSON_MAXSIZE_BYTES) noexcept |
| | Create a JSON parser.
|
| |
|
- | parser (parser &&other) noexcept=default |
+ parser (parser &&other) noexcept=default |
| |
|
-simdjson_inline | parser (const parser &other)=delete |
+simdjson_inline parser (const parser &other)=delete |
| |
|
-simdjson_inline parser & | operator= (const parser &other)=delete |
+simdjson_inline parser & operator= (const parser &other)=delete |
| |
|
-simdjson_inline parser & | operator= (parser &&other) noexcept=default |
+simdjson_inline parser & operator= (parser &&other) noexcept=default |
| |
|
- | ~parser () noexcept=default |
+ ~parser () noexcept=default |
| | Deallocate the JSON parser.
|
| |
-| simdjson_warn_unused simdjson_result< document > | iterate (padded_string_view json) &noexcept |
+| simdjson_warn_unused simdjson_result< document > | iterate (padded_string_view json) &noexcept |
| | Start iterating an on-demand JSON document.
|
| |
-| simdjson_warn_unused simdjson_result< document > | iterate (const char *json, size_t len, size_t capacity) &noexcept |
+| simdjson_warn_unused simdjson_result< document > | iterate (const char *json, size_t len, size_t capacity) &noexcept |
| |
-| simdjson_warn_unused simdjson_result< document > | iterate (const uint8_t *json, size_t len, size_t capacity) &noexcept |
+| simdjson_warn_unused simdjson_result< document > | iterate (const uint8_t *json, size_t len, size_t capacity) &noexcept |
| |
-| simdjson_warn_unused simdjson_result< document > | iterate (std::string_view json, size_t capacity) &noexcept |
+| simdjson_warn_unused simdjson_result< document > | iterate (std::string_view json, size_t capacity) &noexcept |
| |
-| simdjson_warn_unused simdjson_result< document > | iterate (const std::string &json) &noexcept |
+| simdjson_warn_unused simdjson_result< document > | iterate (const std::string &json) &noexcept |
| |
-| simdjson_warn_unused simdjson_result< document > | iterate (std::string &json) &noexcept |
+| simdjson_warn_unused simdjson_result< document > | iterate (std::string &json) &noexcept |
| |
-| simdjson_warn_unused simdjson_result< document > | iterate (const simdjson_result< padded_string > &json) &noexcept |
+| simdjson_warn_unused simdjson_result< document > | iterate (const simdjson_result< padded_string > &json) &noexcept |
| |
-| simdjson_warn_unused simdjson_result< document > | iterate (const simdjson_result< padded_string_view > &json) &noexcept |
+| simdjson_warn_unused simdjson_result< document > | iterate (const simdjson_result< padded_string_view > &json) &noexcept |
| |
|
-simdjson_warn_unused simdjson_result< document > | iterate (padded_string &&json) &noexcept=delete |
+simdjson_warn_unused simdjson_result< document > iterate (padded_string &&json) &noexcept=delete |
| |
-| simdjson_result< document_stream > | iterate_many (const uint8_t *buf, size_t len, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept |
+| simdjson_result< document_stream > | iterate_many (const uint8_t *buf, size_t len, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept |
| | Parse a buffer containing many JSON documents.
|
| |
-| simdjson_result< document_stream > | iterate_many (padded_string_view json, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept |
+| simdjson_result< document_stream > | iterate_many (padded_string_view json, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept |
| |
-| simdjson_result< document_stream > | iterate_many (const char *buf, size_t len, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept |
+| simdjson_result< document_stream > | iterate_many (const char *buf, size_t len, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept |
| |
-| simdjson_result< document_stream > | iterate_many (const std::string &s, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept |
+| simdjson_result< document_stream > | iterate_many (const std::string &s, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept |
| |
-| simdjson_result< document_stream > | iterate_many (std::string &s, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept |
+| simdjson_result< document_stream > | iterate_many (std::string &s, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept |
| |
-| simdjson_result< document_stream > | iterate_many (const padded_string &s, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept |
+| simdjson_result< document_stream > | iterate_many (const padded_string &s, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept |
| |
-| simdjson_pure simdjson_inline size_t | capacity () const noexcept |
+| simdjson_pure simdjson_inline size_t | capacity () const noexcept |
| | The capacity of this parser (the largest document it can process).
|
| |
-| simdjson_pure simdjson_inline size_t | max_capacity () const noexcept |
+| simdjson_pure simdjson_inline size_t | max_capacity () const noexcept |
| | The maximum capacity of this parser (the largest document it is allowed to process).
|
| |
-| simdjson_inline void | set_max_capacity (size_t max_capacity) noexcept |
+| simdjson_inline void | set_max_capacity (size_t max_capacity) noexcept |
| |
-| simdjson_pure simdjson_inline size_t | max_depth () const noexcept |
+| simdjson_pure simdjson_inline size_t | max_depth () const noexcept |
| | The maximum depth of this parser (the most deeply nested objects and arrays it can process).
|
| |
-| simdjson_warn_unused error_code | allocate (size_t capacity, size_t max_depth=DEFAULT_MAX_DEPTH) noexcept |
+| simdjson_warn_unused error_code | allocate (size_t capacity, size_t max_depth=DEFAULT_MAX_DEPTH) noexcept |
| | Ensure this parser has enough memory to process JSON documents up to capacity bytes in length and max_depth depth.
|
| |
-| simdjson_inline simdjson_result< std::string_view > | unescape (raw_json_string in, uint8_t *&dst, bool allow_replacement=false) const noexcept |
+| simdjson_inline simdjson_result< std::string_view > | unescape (raw_json_string in, uint8_t *&dst, bool allow_replacement=false) const noexcept |
| | Unescape this JSON string, replacing \ with \,
with newline, etc.
|
| |
-| simdjson_inline simdjson_result< std::string_view > | unescape_wobbly (raw_json_string in, uint8_t *&dst) const noexcept |
+| simdjson_inline simdjson_result< std::string_view > | unescape_wobbly (raw_json_string in, uint8_t *&dst) const noexcept |
| | Unescape this JSON string, replacing \ with \,
with newline, etc.
|
| |
|
-| static simdjson_inline simdjson_warn_unused ondemand::parser & | get_parser () |
+| static simdjson_inline simdjson_warn_unused ondemand::parser & | get_parser () |
| | Get a unique parser instance corresponding to the current thread.
|
| |
-| static simdjson_inline bool | release_parser () |
+| static simdjson_inline bool | release_parser () |
| | Release the parser instance initialized by get_parser() and all the associated resources (memory).
|
| |
|
-| bool | threaded {false} |
+| bool | threaded {false} |
| | When SIMDJSON_THREADS_ENABLED is not defined, the parser instance cannot use threads.
|
| |
@@ -361,7 +361,7 @@ Public Attributes
| simdjson_warn_unused simdjson_inline simdjson_result< document > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser::iterate |
( |
- const char * |
+ const char * |
json, |
@@ -405,7 +405,7 @@ Public Attributes
| simdjson_warn_unused simdjson_inline simdjson_result< document > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser::iterate |
( |
- const simdjson_result< padded_string > & |
+ const simdjson_result< padded_string > & |
json | ) |
& |
@@ -433,7 +433,7 @@ Public Attributes
| simdjson_warn_unused simdjson_inline simdjson_result< document > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser::iterate |
( |
- const simdjson_result< padded_string_view > & |
+ const simdjson_result< padded_string_view > & |
json | ) |
& |
@@ -461,7 +461,7 @@ Public Attributes
| simdjson_warn_unused simdjson_inline simdjson_result< document > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser::iterate |
( |
- const std::string & |
+ const std::string & |
json | ) |
& |
@@ -489,7 +489,7 @@ Public Attributes
| simdjson_warn_unused simdjson_inline simdjson_result< document > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser::iterate |
( |
- const uint8_t * |
+ const uint8_t * |
json, |
@@ -548,19 +548,19 @@ Public Attributes
Start iterating an on-demand JSON document.
ondemand::parser parser; document doc = parser.iterate(json);
It is expected that the content is a valid UTF-8 file, containing a valid JSON document. Otherwise the iterate method may return an error. In particular, the whole input should be valid: we do not attempt to tolerate incorrect content either before or after a JSON document. If there is a UTF-8 BOM, the parser skips it.
-
+
IMPORTANT: Validate what you use
Calling iterate on an invalid JSON document may not immediately trigger an error. The call to iterate does not parse and validate the whole document.
-
+
IMPORTANT: Buffer Lifetime
Because parsing is done while you iterate, you must keep the JSON buffer around at least as long as the document iteration.
-
+
IMPORTANT: Document Lifetime
Only one iteration at a time can happen per parser, and the parser must be kept alive during iteration to ensure intermediate buffers can be accessed. Any document must be destroyed before you call parse() again or destroy the parser.
-
+
REQUIRED: Buffer Padding
The buffer must have at least SIMDJSON_PADDING extra allocated bytes. It does not matter what those bytes are initialized to, as long as they are allocated. These bytes will be read: if you using a sanitizer that verifies that no uninitialized byte is read, then you should initialize the SIMDJSON_PADDING bytes to avoid runtime warnings.
-
+
std::string references
If you pass a mutable std::string reference (std::string&), the parser will seek to extend its capacity to SIMDJSON_PADDING bytes beyond the end of the string.
Whenever you pass an std::string reference, the parser will access the bytes beyond the end of the string but before the end of the allocated memory (std::string::capacity()). If you are using a sanitizer that checks for reading uninitialized bytes or std::string's container-overflow checks, you may encounter sanitizer warnings. You can safely ignore these warnings. Or you can call simdjson::pad(std::string&) to pad the string with SIMDJSON_PADDING spaces: this function returns a simdjson::padding_string_view which can be be passed to the parser's iterate function:
@@ -665,7 +665,7 @@ std::string references
| simdjson_result< document_stream > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser::iterate_many |
( |
- const char * |
+ const char * |
buf, |
@@ -683,8 +683,8 @@ std::string references
|
|
- bool |
- allow_comma_separated = false |
+ bool |
+ allow_comma_separated = false |
|
@@ -715,7 +715,7 @@ std::string references
| simdjson_result< document_stream > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser::iterate_many |
( |
- const padded_string & |
+ const padded_string & |
s, |
@@ -727,8 +727,8 @@ std::string references
|
|
- bool |
- allow_comma_separated = false |
+ bool |
+ allow_comma_separated = false |
|
@@ -759,7 +759,7 @@ std::string references
| simdjson_result< document_stream > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser::iterate_many |
( |
- const std::string & |
+ const std::string & |
s, |
@@ -771,8 +771,8 @@ std::string references
|
|
- bool |
- allow_comma_separated = false |
+ bool |
+ allow_comma_separated = false |
|
@@ -803,7 +803,7 @@ std::string references
| simdjson_result< document_stream > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser::iterate_many |
( |
- const uint8_t * |
+ const uint8_t * |
buf, |
@@ -821,8 +821,8 @@ std::string references
|
|
- bool |
- allow_comma_separated = false |
+ bool |
+ allow_comma_separated = false |
|
@@ -842,22 +842,22 @@ std::string references
No copy of the input buffer is made.
The function is lazy: it may be that no more than one JSON document at a time is parsed.
The caller is responsabile to ensure that the input string data remains unchanged and is not deleted during the loop.
-
+
Format
The buffer must contain a series of one or more JSON documents, concatenated into a single buffer, separated by ASCII whitespace. It effectively parses until it has a fully valid document, then starts parsing the next document at that point. (It does this with more parallelism and lookahead than you might think, though.)
documents that consist of an object or array may omit the whitespace between them, concatenating with no separator. Documents that consist of a single primitive (i.e. documents that are not arrays or objects) MUST be separated with ASCII whitespace.
The characters inside a JSON document, and between JSON documents, must be valid Unicode (UTF-8). If there is a UTF-8 BOM, the parser skips it.
The documents must not exceed batch_size bytes (by default 1MB) or they will fail to parse. Setting batch_size to excessively large or excessively small values may impact negatively the performance.
-
+
Threads
When compiled with SIMDJSON_THREADS_ENABLED, this method will use a single thread under the hood to do some lookahead.
-
+
REQUIRED: Buffer Padding
The buffer must have at least SIMDJSON_PADDING extra allocated bytes. It does not matter what those bytes are initialized to, as long as they are allocated. These bytes will be read: if you using a sanitizer that verifies that no uninitialized byte is read, then you should initialize the SIMDJSON_PADDING bytes to avoid runtime warnings.
This is checked automatically with all iterate_many function calls, except for the two that take pointers (const char* or const uint8_t*).
-
+
Threads
-
+
Parser Capacity
If the parser's current capacity is less than batch_size, it will allocate enough capacity to handle it (up to max_capacity).
- Parameters
-
@@ -904,8 +904,8 @@ Parser Capacity
|
|
- bool |
- allow_comma_separated = false |
+ bool |
+ allow_comma_separated = false |
|
@@ -948,8 +948,8 @@ Parser Capacity
|
|
- bool |
- allow_comma_separated = false |
+ bool |
+ allow_comma_separated = false |
|
@@ -1037,7 +1037,7 @@ Parser Capacity
- | static simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser::release_parser |
+ static simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser::release_parser |
( |
| ) |
|
@@ -1065,7 +1065,7 @@ Parser Capacity
- | simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser::set_max_capacity |
+ simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser::set_max_capacity |
( |
size_t |
max_capacity | ) |
@@ -1101,14 +1101,14 @@ Parser Capacity
|
|
- uint8_t *& |
+ uint8_t *& |
dst, |
|
|
- bool |
- allow_replacement = false |
+ bool |
+ allow_replacement = false |
|
@@ -1127,7 +1127,7 @@ Parser Capacity
with newline, etc.
to a user-provided buffer. The result must be valid UTF-8. The provided pointer is advanced to the end of the string by reference, and a string_view instance is returned. You can ensure that your buffer is large enough by allocating a block of memory at least as large as the input JSON plus SIMDJSON_PADDING and then unescape all strings to this one buffer.
This unescape function is a low-level function. If you want a more user-friendly approach, you should avoid raw_json_string instances (e.g., by calling unescaped_key() instead of key() or get_string() instead of get_raw_json_string()).
-
+
IMPORTANT: string_view lifetime
The string_view is only valid as long as the bytes in dst.
- Parameters
-
@@ -1162,7 +1162,7 @@ IMPORTANT: string_view lifetime
|
|
- uint8_t *& |
+ uint8_t *& |
dst |
@@ -1182,7 +1182,7 @@ IMPORTANT: string_view lifetime
with newline, etc.
to a user-provided buffer. The result may not be valid UTF-8. See https://simonsapin.github.io/wtf-8/ The provided pointer is advanced to the end of the string by reference, and a string_view instance is returned. You can ensure that your buffer is large enough by allocating a block of memory at least as large as the input JSON plus SIMDJSON_PADDING and then unescape all strings to this one buffer.
This unescape function is a low-level function. If you want a more user-friendly approach, you should avoid raw_json_string instances (e.g., by calling unescaped_key() instead of key() or get_string() instead of get_raw_json_string()).
-
+
IMPORTANT: string_view lifetime
The string_view is only valid as long as the bytes in dst.
- Parameters
-
@@ -1206,7 +1206,7 @@ IMPORTANT: string_view lifetime
- | bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser::threaded {false} |
+ bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser::threaded {false} |
diff --git a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string-members.html b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string-members.html
index 3f2b1c373..7e0ace40a 100644
--- a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string-members.html
+++ b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string-members.html
@@ -29,7 +29,7 @@
 |
- simdjson 4.0.7
+ simdjson 4.1.0
Ridiculously Fast JSON
|
diff --git a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html
index 56c5c06de..62d99b536 100644
--- a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html
+++ b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html
@@ -29,7 +29,7 @@
 |
- simdjson 4.0.7
+ simdjson 4.1.0
Ridiculously Fast JSON
|
@@ -109,40 +109,40 @@ $(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_
@@ -195,7 +195,7 @@ Static Public Member Functions
| simdjson_inline simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::raw_json_string |
( |
- const uint8_t * |
+ const uint8_t * |
_buf | ) |
|
@@ -227,9 +227,9 @@ It <em>must</em> be terminated by a ", and be a valid JSON string. <
- | simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::is_equal |
+ simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::is_equal |
( |
- const char * |
+ const char * |
target | ) |
const |
@@ -257,7 +257,7 @@ It <em>must</em> be terminated by a ", and be a valid JSON string. <
- | simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::is_equal |
+ simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::is_equal |
( |
std::string_view |
target | ) |
@@ -287,9 +287,9 @@ It <em>must</em> be terminated by a ", and be a valid JSON string. <
- | simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::is_free_from_unescaped_quote |
+ simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::is_free_from_unescaped_quote |
( |
- const char * |
+ const char * |
target | ) |
|
@@ -315,7 +315,7 @@ It <em>must</em> be terminated by a ", and be a valid JSON string. <
- | simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::is_free_from_unescaped_quote |
+ simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::is_free_from_unescaped_quote |
( |
std::string_view |
target | ) |
@@ -346,7 +346,7 @@ It <em>must</em> be terminated by a ", and be a valid JSON string. <
- | simdjson_inline char simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::operator[] |
+ simdjson_inline char simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::operator[] |
( |
size_t |
i | ) |
@@ -377,7 +377,7 @@ It <em>must</em> be terminated by a ", and be a valid JSON string. <
- | simdjson_inline const char * simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::raw |
+ simdjson_inline const char * simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::raw |
( |
| ) |
const |
@@ -407,9 +407,9 @@ It <em>must</em> be terminated by a ", and be a valid JSON string. <
- | simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::unsafe_is_equal |
+ simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::unsafe_is_equal |
( |
- const char * |
+ const char * |
target | ) |
const |
@@ -440,7 +440,7 @@ It <em>must</em> be terminated by a ", and be a valid JSON string. <
- | simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::unsafe_is_equal |
+ simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::unsafe_is_equal |
( |
size_t |
length, |
@@ -483,7 +483,7 @@ It <em>must</em> be terminated by a ", and be a valid JSON string. <
- | simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::unsafe_is_equal |
+ simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::unsafe_is_equal |
( |
std::string_view |
target | ) |
diff --git a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value-members.html b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value-members.html
index 9f2fdfe20..f002e8080 100644
--- a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value-members.html
+++ b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value-members.html
@@ -29,7 +29,7 @@
 |
- simdjson 4.0.7
+ simdjson 4.1.0
Ridiculously Fast JSON
|
diff --git a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html
index e9b9ca894..7f79867cc 100644
--- a/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html
+++ b/classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html
@@ -29,7 +29,7 @@
 |
- simdjson 4.0.7
+ simdjson 4.1.0
Ridiculously Fast JSON
|
@@ -111,233 +111,233 @@ $(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_
@@ -392,7 +392,7 @@ Protected Attributes
| simdjson_inline simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value::value |
( |
- const value_iterator & |
+ const value_iterator & |
iter | ) |
|
@@ -634,7 +634,7 @@ Protected Attributes
- | simdjson_inline int32_t simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value::current_depth |
+ simdjson_inline int32_t simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value::current_depth |
( |
| ) |
const |
@@ -664,7 +664,7 @@ Protected Attributes
- | simdjson_inline simdjson_result< const char * > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value::current_location |
+ simdjson_inline simdjson_result< const char * > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value::current_location |
( |
| ) |
|
@@ -725,7 +725,7 @@ Protected Attributes
| simdjson_inline simdjson_result< value > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value::find_field |
( |
- const char * |
+ const char * |
key | ) |
|
@@ -767,13 +767,11 @@ Protected Attributes
Look up a field by name on an object (order-sensitive).
The following code reads z, then y, then x, and thus will not retrieve x or y if fed the JSON { "x": 1, "y": 2, "z": 3 }:
- ++
- simdjson::ondemand::parser parser;
-
- double z = obj.find_field( "z");
- double y = obj.find_field( "y");
- double x = obj.find_field( "x");
- A forward-only JSON array.
+ simdjson::ondemand::parser parser;
+ auto obj = parser.parse(R "( { "x": 1, "y": 2, "z": 3 } )"_padded);
+ double z = obj.find_field("z");
+ double y = obj.find_field("y");
+ double x = obj.find_field("x");
A JSON fragment iterator.
If you have multiple fields with a matching key ({"x": 1, "x": 1}) be mindful that only one field is returned.
Raw Keys: The lookup will be done against the raw key, and will not unescape keys. e.g. object["a"] will match { "a": 1 }, but will not match { "\u0061": 1 }.
@@ -802,7 +800,7 @@ Protected Attributes
| simdjson_inline simdjson_result< value > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value::find_field_unordered |
( |
- const char * |
+ const char * |
key | ) |
|
@@ -1017,7 +1015,7 @@ template<>
- | simdjson_inline simdjson_result< double > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value::get |
+ simdjson_inline simdjson_result< double > simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value::get |
( |
| ) |
|
@@ -1046,7 +1044,7 @@ template<>
| | | | | | | | | | | | |
| |
| | | | |