DAW JSON Link
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
daw_json_value.h File Reference
#include "daw/json/impl/version.h"
#include "daw/json/daw_json_data_contract.h"
#include "daw/json/impl/daw_json_arrow_proxy.h"
#include "daw/json/impl/daw_json_assert.h"
#include "daw/json/impl/daw_json_parse_common.h"
#include "daw/json/impl/daw_json_parse_name.h"
#include "daw/json/impl/daw_json_parse_policy.h"
#include "daw/json/impl/daw_json_parse_unsigned_int.h"
#include "daw/json/impl/daw_json_parse_value_fwd.h"
#include "daw/json/impl/daw_json_skip.h"
#include "daw/json/impl/daw_json_traits.h"
#include "daw/json/impl/daw_json_value_fwd.h"
#include <daw/daw_algorithm.h>
#include <daw/daw_attributes.h>
#include <daw/daw_move.h>
#include <daw/daw_utility.h>
#include <cassert>
#include <cstddef>
#include <daw/stdinc/tuple_traits.h>
#include <optional>
#include <string_view>

Go to the source code of this file.

Classes

struct  daw::json::anonymous_namespace{daw_json_value.h}::basic_json_pair< PolicyFlags, Allocator >
 A name/value pair of string_view/json_value. More...
 
struct  daw::json::anonymous_namespace{daw_json_value.h}::basic_json_value< PolicyFlags, Allocator >
 A non-owning container for arbitrary JSON values that allows movement/iteration through. More...
 
struct  daw::json::anonymous_namespace{daw_json_value.h}::basic_json_value_iterator< PolicyFlags, Allocator >
 Iterator for iterating over arbitrary JSON members and array elements. More...
 
struct  daw::json::anonymous_namespace{daw_json_value.h}::basic_json_value_iterator_range< PolicyFlags, Allocator >
 a rudimentary range object for holding basic_json_value_iterator More...
 
class  std::tuple_element< 0, daw::json::basic_json_pair< PolicyFlags, Allocator > >
 
class  std::tuple_element< 1, daw::json::basic_json_pair< PolicyFlags, Allocator > >
 
class  std::tuple_size< daw::json::basic_json_pair< PolicyFlags, Allocator > >
 

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_value.h}
 
namespace  std
 

Functions

template<typename Result , json_options_t PolicyFlags, typename Allocator >
constexpr Result daw::json::anonymous_namespace{daw_json_value.h}::as (basic_json_value< PolicyFlags, Allocator > const &jv)
 
template<json_options_t PolicyFlags, typename Allocator >
 daw::json::anonymous_namespace{daw_json_value.h}::basic_json_value (BasicParsePolicy< PolicyFlags, Allocator >) -> basic_json_value< PolicyFlags, Allocator >
 
 daw::json::anonymous_namespace{daw_json_value.h}::basic_json_value (char const *first, char const *last) -> basic_json_value<>
 
 daw::json::anonymous_namespace{daw_json_value.h}::basic_json_value (char const *first, std::size_t sz) -> basic_json_value<>
 
 daw::json::anonymous_namespace{daw_json_value.h}::basic_json_value (daw::string_view) -> basic_json_value<>
 
template<json_options_t PolicyFlags, typename Allocator >
 daw::json::anonymous_namespace{daw_json_value.h}::basic_json_value_iterator (basic_json_value< PolicyFlags, Allocator > const &) -> basic_json_value_iterator< PolicyFlags, Allocator >
 
template<json_options_t PolicyFlags, typename Allocator >
 daw::json::anonymous_namespace{daw_json_value.h}::basic_json_value_iterator (BasicParsePolicy< PolicyFlags, Allocator > const &) -> basic_json_value_iterator< PolicyFlags, Allocator >
 
 daw::json::anonymous_namespace{daw_json_value.h}::basic_json_value_iterator (daw::string_view) -> basic_json_value_iterator<>
 
template<typename Allocator >
 daw::json::anonymous_namespace{daw_json_value.h}::basic_json_value_iterator (daw::string_view, Allocator const &) -> basic_json_value_iterator< daw::json::json_details::default_policy_flag, Allocator >
 
template<json_options_t PolicyFlags, typename Allocator >
 daw::json::anonymous_namespace{daw_json_value.h}::basic_json_value_iterator_range (basic_json_value_iterator< PolicyFlags, Allocator >, basic_json_value_iterator< PolicyFlags, Allocator >) -> basic_json_value_iterator_range< PolicyFlags, Allocator >
 
template<std::size_t Idx, json_options_t PolicyFlags, typename Allocator >
constexpr decltype(auto) daw::json::anonymous_namespace{daw_json_value.h}::get (basic_json_pair< PolicyFlags, Allocator > &&parse_state)
 
template<std::size_t Idx, json_options_t PolicyFlags, typename Allocator >
constexpr decltype(auto) daw::json::anonymous_namespace{daw_json_value.h}::get (basic_json_pair< PolicyFlags, Allocator > &parse_state)
 
template<std::size_t Idx, json_options_t PolicyFlags, typename Allocator >
constexpr decltype(auto) daw::json::anonymous_namespace{daw_json_value.h}::get (basic_json_pair< PolicyFlags, Allocator > const &parse_state)