DAW JSON Link
Loading...
Searching...
No Matches
Namespaces | Functions
daw_json_apply.h File Reference
#include "daw/json/daw_json_link.h"
#include <daw/daw_cpp20_concept.h>
#include <daw/daw_cpp_feature_check.h>
#include <daw/daw_enable_requires.h>
#include <daw/daw_function_traits.h>
#include <string_view>
#include <tuple>
#include <type_traits>

Go to the source code of this file.

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

Functions

template<typename Signature = use_default, typename String , typename Callable DAW_ENABLEIF>
constexpr auto daw::json::anonymous_namespace{daw_json_apply.h}::json_apply (String &&json_doc, Callable &&callable)
 Parse to parameters specified in signature and pass them to Callable for evaluation. This is similar to std::apply but using JSON documents instead of tuples.
 
template<typename Signature = use_default, typename String , auto... PolicyFlags, typename Callable DAW_ENABLEIF>
constexpr auto daw::json::anonymous_namespace{daw_json_apply.h}::json_apply (String &&json_doc, daw::json::options::parse_flags_t< PolicyFlags... > flags, Callable &&callable)
 Parse to parameters specified in signature and pass them to Callable for evaluation. This is similar to std::apply but using JSON documents instead of tuples.
 
template<typename Signature = use_default, typename String , typename Callable DAW_ENABLEIF>
constexpr auto daw::json::anonymous_namespace{daw_json_apply.h}::json_apply (String &&json_doc, std::string_view json_path, Callable &&callable)
 Parse to parameters specified in signature and pass them to Callable for evaluation. This is similar to std::apply but using JSON documents instead of tuples.
 
template<typename Signature = use_default, typename String , auto... PolicyFlags, typename Callable DAW_ENABLEIF>
constexpr auto daw::json::anonymous_namespace{daw_json_apply.h}::json_apply (String &&json_doc, std::string_view json_path, daw::json::options::parse_flags_t< PolicyFlags... > flags, Callable &&callable)
 Parse to parameters specified in signature and pass them to Callable for evaluation. This is similar to std::apply but using JSON documents instead of tuples.