DAW JSON Link
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
daw_json_lines_iterator.h File Reference
#include "daw/json/impl/version.h"
#include "daw/json/impl/daw_json_link_types_fwd.h"
#include "daw/json/impl/daw_json_parse_class.h"
#include "daw/json/impl/daw_json_value.h"
#include <daw/daw_cxmath.h>
#include <daw/daw_move.h>
#include <daw/daw_scope_guard.h>
#include <daw/daw_traits.h>
#include <daw/daw_utility.h>
#include <array>
#include <cstddef>
#include <cstdlib>
#include <iterator>
#include <limits>
#include <string>
#include <string_view>
#include <type_traits>

Go to the source code of this file.

Classes

class  daw::json::anonymous_namespace{daw_json_lines_iterator.h}::json_lines_iterator< JsonElement, PolicyFlags >
 Iterator for iterating over JSON array's. More...
 
struct  daw::json::anonymous_namespace{daw_json_lines_iterator.h}::json_lines_range< JsonElement, PolicyFlags >
 A range of json_lines_iterators. More...
 

Namespaces

namespace  daw
 
namespace  daw::json
 string_writer grows its string with resize_and_overwrite, leaving the new bytes uninitialized, when the standard library has it. That skips zero filling memory that is overwritten right away, but the bytes past what was written are never initialized, which resize_and_overwrite's precondition does not allow. Define DAW_JSON_NO_LESS_SAFE_STRING_WRITER to grow with resize( ) instead
 
namespace  daw::json::anonymous_namespace{daw_json_lines_iterator.h}
 

Functions

 daw::json::anonymous_namespace{daw_json_lines_iterator.h}::json_lines_iterator (daw::string_view) -> json_lines_iterator<>
 
 daw::json::anonymous_namespace{daw_json_lines_iterator.h}::json_lines_range (daw::string_view) -> json_lines_range<>
 
template<typename JsonElement , auto... PolicyFlags>
 daw::json::anonymous_namespace{daw_json_lines_iterator.h}::json_lines_range (json_lines_iterator< JsonElement, PolicyFlags... >, json_lines_iterator< JsonElement, PolicyFlags... >) -> json_lines_range< JsonElement, PolicyFlags... >
 
template<typename JsonElement = json_value, auto... ParsePolicies>
std::vector< json_lines_range< JsonElement, ParsePolicies... > > daw::json::anonymous_namespace{daw_json_lines_iterator.h}::partition_jsonl_document (std::size_t num_partitions, daw::string_view jsonl_doc)
 parition the jsonl/nbjson document into num_partition non overlapping sub-ranges. This can be used to parallelize json lines parsing