DAW JSON Link
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
daw_json_find_path.h File Reference
#include "daw/json/impl/version.h"
#include "daw/json/daw_json_event_parser.h"
#include "daw/json/daw_json_link_types.h"
#include "daw/json/impl/daw_json_assert.h"
#include <daw/algorithms/daw_algorithm_accumulate.h>
#include <daw/algorithms/daw_algorithm_find.h>
#include <daw/daw_cpp_feature_check.h>
#include <daw/daw_move.h>
#include <daw/iterator/daw_reverse_iterator.h>
#include <optional>
#include <string>
#include <string_view>
#include <vector>

Go to the source code of this file.

Classes

class  daw::json::anonymous_namespace{daw_json_find_path.h}::json_path_node
 

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_find_path.h}
 

Functions

constexpr std::size_t daw::json::anonymous_namespace{daw_json_find_path.h}::find_column_number_of (char const *doc_pos, char const *doc_start)
 
constexpr std::size_t daw::json::anonymous_namespace{daw_json_find_path.h}::find_column_number_of (json_path_node const &node, char const *doc_start)
 
DAW_CPP20_CX_ALLOC std::vector< json_path_node > daw::json::anonymous_namespace{daw_json_find_path.h}::find_json_path_stack_to (char const *parse_location, char const *doc_start)
 Get the json_path_nodes representing the path to the nearest value's position in the document.
 
DAW_CPP20_CX_ALLOC std::vector< json_path_node > daw::json::anonymous_namespace{daw_json_find_path.h}::find_json_path_stack_to (json_exception const &jex, char const *doc_start)
 
DAW_CPP20_CX_ALLOC std::string daw::json::anonymous_namespace{daw_json_find_path.h}::find_json_path_to (char const *parse_location, char const *doc_start)
 
DAW_CPP20_CX_ALLOC std::string daw::json::anonymous_namespace{daw_json_find_path.h}::find_json_path_to (json_exception const &jex, char const *doc_start)
 
constexpr std::size_t daw::json::anonymous_namespace{daw_json_find_path.h}::find_line_number_of (char const *doc_pos, char const *doc_start)
 
constexpr std::size_t daw::json::anonymous_namespace{daw_json_find_path.h}::find_line_number_of (json_path_node const &node, char const *doc_start)
 
DAW_ATTRIB_NOINLINE DAW_CPP20_CX_ALLOC std::string daw::json::anonymous_namespace{daw_json_find_path.h}::to_json_path_string (std::vector< json_path_node > const &path_stack)
 Convert a json_path_node stack to a JSON Path string.