DAW JSON Link
Classes | Namespaces | Typedefs | Functions | Variables
to_daw_json_string.h File Reference
#include "version.h"
#include "daw_json_assert.h"
#include "daw_json_parse_iso8601_utils.h"
#include "daw_json_serialize_policy.h"
#include "daw_json_serialize_policy_options.h"
#include "daw_json_value.h"
#include <daw/daw_algorithm.h>
#include <daw/daw_arith_traits.h>
#include <daw/daw_cpp_feature_check.h>
#include <daw/daw_cxmath.h>
#include <daw/daw_likely.h>
#include <daw/daw_move.h>
#include <daw/daw_traits.h>
#include <daw/daw_utility.h>
#include <daw/daw_visit.h>
#include <daw/utf8/unchecked.h>
#include <array>
#include <ciso646>
#include <daw/third_party/dragonbox/dragonbox.h>
#include <optional>
#include <sstream>
#include <string>
#include <tuple>
#include <type_traits>
#include <variant>

Go to the source code of this file.

Classes

struct  daw::json::DAW_JSON_VER::default_from_json_converter_t< T >
 
struct  daw::json::DAW_JSON_VER::default_to_json_converter_t< T >
 
struct  daw::json::DAW_JSON_VER::json_details::find_names_in_pack< Needle, daw::fwd_pack< Haystack... > >
 
struct  daw::json::DAW_JSON_VER::json_details::missing_required_mapping_for< typename >
 
struct  daw::json::DAW_JSON_VER::utils::utils_details::number< Integer >
 

Namespaces

namespace  daw
 
namespace  daw::json
 
namespace  daw::json::DAW_JSON_VER
 
namespace  daw::json::DAW_JSON_VER::from_json_conv_details
 
namespace  daw::json::DAW_JSON_VER::json_details
 
namespace  daw::json::DAW_JSON_VER::json_details::to_strings
 
namespace  daw::json::DAW_JSON_VER::json_details::to_strings::to_string_test
 
namespace  daw::json::DAW_JSON_VER::utils
 
namespace  daw::json::DAW_JSON_VER::utils::utils_details
 

Typedefs

template<typename T >
using daw::json::DAW_JSON_VER::json_details::base_int_type_impl = std::underlying_type< T >
 
template<typename T >
using daw::json::DAW_JSON_VER::json_details::base_int_type_t = typename std::conditional_t< std::is_enum_v< T >, base_int_type_impl< T >, daw::traits::identity< T > >::type
 
template<typename T >
using daw::json::DAW_JSON_VER::json_details::from_string_test = decltype(from_string(std::declval< daw::tag_t< T > >(), std::declval< std::string_view >()))
 
template<typename T , typename U >
using daw::json::DAW_JSON_VER::json_details::has_lshift_test = decltype(operator<<(std::declval< T & >(), std::declval< U const & >()))
 
template<typename T , typename U >
using daw::json::DAW_JSON_VER::json_details::has_rshift_test = decltype(operator>>(std::declval< T & >(), std::declval< U const & >()))
 
template<typename T >
using daw::json::DAW_JSON_VER::json_details::to_strings::has_to_string = daw::is_detected< to_string_test::to_string_result, T >
 
template<typename T >
using daw::json::DAW_JSON_VER::json_details::to_strings::to_string_test::to_string_result = decltype(to_string_test(std::declval< T >()))
 

Functions

template<bool do_escape = false, EightBitModes EightBitMode = EightBitModes::AllowFull, typename OutputIterator , typename ParseState >
constexpr OutputIterator daw::json::DAW_JSON_VER::utils::copy_to_iterator (OutputIterator it, basic_json_value< ParseState > const &jv)
 
template<bool do_escape = false, EightBitModes EightBitMode = EightBitModes::AllowFull, typename OutputIterator >
constexpr OutputIterator daw::json::DAW_JSON_VER::utils::copy_to_iterator (OutputIterator it, char const *ptr)
 
template<bool do_escape = false, EightBitModes EightBitMode = EightBitModes::AllowFull, typename OutputIterator , typename Container , std::enable_if_t< traits::is_container_like_v< daw::remove_cvref_t< Container > >, std::nullptr_t > = nullptr>
constexpr OutputIterator daw::json::DAW_JSON_VER::utils::copy_to_iterator (OutputIterator it, Container const &container)
 
template<std::size_t , typename JsonMember , typename , typename OutputIterator , typename TpArgs , typename Value , typename VisitedMembers , std::enable_if_t< not has_dependent_member_v< JsonMember >, std::nullptr_t > = nullptr>
constexpr DAW_ATTRIB_INLINE void daw::json::DAW_JSON_VER::json_details::dependent_member_to_json_str (bool &, OutputIterator const &, TpArgs const &, Value const &, VisitedMembers const &)
 
template<std::size_t pos, typename JsonMember , typename NamePack , typename OutputIterator , json_options_t SerializationOptions, typename TpArgs , typename Value , typename VisitedMembers , std::enable_if_t< has_dependent_member_v< JsonMember >, std::nullptr_t > = nullptr>
constexpr void daw::json::DAW_JSON_VER::json_details::dependent_member_to_json_str (bool &is_first, serialization_policy< OutputIterator, SerializationOptions > it, TpArgs const &args, Value const &v, VisitedMembers &visited_members)
 
template<typename Integer , typename OutputIterator >
constexpr OutputIterator daw::json::DAW_JSON_VER::utils::integer_to_string (OutputIterator it, Integer const &value)
 
template<typename T >
constexpr bool daw::json::DAW_JSON_VER::json_details::is_null (std::optional< T > const &v)
 
template<typename T >
constexpr bool daw::json::DAW_JSON_VER::json_details::is_null (T const &)
 
template<typename Key , typename Value >
constexpr Key const & daw::json::DAW_JSON_VER::json_details::json_get_key (std::pair< Key, Value > const &kv)
 
template<typename Key , typename Value >
constexpr Value const & daw::json::DAW_JSON_VER::json_details::json_get_value (std::pair< Key, Value > const &kv)
 
template<typename JsonMember , typename OutputIterator , typename T >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::member_to_string (template_param< JsonMember >, OutputIterator it, T const &value)
 
template<typename Name >
missing_required_mapping_for< Name > daw::json::DAW_JSON_VER::json_details::missing_required_mapping_error ()
 
template<typename OutputIterator >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::output_hex (std::uint16_t c, OutputIterator it)
 
template<FPOutputFormat fp_output_format, typename OutputIterator , typename Real >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_chars (Real const &value, OutputIterator out_it)
 
template<typename JsonMember , typename OutputIterator , json_options_t SerializationOptions, typename parse_to_t >
constexpr serialization_policy< OutputIterator, SerializationOptions > daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::Array >, serialization_policy< OutputIterator, SerializationOptions > it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , typename parse_to_t >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::Bool >, OutputIterator it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , typename parse_to_t >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::Class >, OutputIterator it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , typename parse_to_t >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::Custom >, OutputIterator it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , typename parse_to_t >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::Date >, OutputIterator it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , json_options_t SerializationOptions, typename parse_to_t >
constexpr serialization_policy< OutputIterator, SerializationOptions > daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::KeyValue >, serialization_policy< OutputIterator, SerializationOptions > it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , json_options_t SerializationOptions, typename parse_to_t >
constexpr serialization_policy< OutputIterator, SerializationOptions > daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::KeyValueArray >, serialization_policy< OutputIterator, SerializationOptions > it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , json_options_t SerializeOptions, typename parse_to_t >
constexpr serialization_policy< OutputIterator, SerializeOptions > daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::KeyValueArray >, serialization_policy< OutputIterator, SerializeOptions > it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , typename Optional >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::Null >, OutputIterator it, Optional const &value)
 
template<typename JsonMember , typename OutputIterator , typename parse_to_t >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::Null >, OutputIterator it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , typename parse_to_t >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::Real >, OutputIterator it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , typename parse_to_t >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::Signed >, OutputIterator it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , typename parse_to_t >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::SizedArray >, OutputIterator it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , typename parse_to_t >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::StringEscaped >, OutputIterator it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , typename parse_to_t >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::StringRaw >, OutputIterator it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , json_options_t SerializationOptions, typename parse_to_t >
constexpr serialization_policy< OutputIterator, SerializationOptions > daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::Tuple >, serialization_policy< OutputIterator, SerializationOptions > it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , typename parse_to_t >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::Unknown >, OutputIterator it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , typename parse_to_t >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::Unsigned >, OutputIterator it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , typename parse_to_t >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::Variant >, OutputIterator it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , typename parse_to_t >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::VariantIntrusive >, OutputIterator it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , typename parse_to_t >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::VariantTagged >, OutputIterator it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , json_options_t SerializationOptions, typename parse_to_t , std::size_t... Is>
serialization_policy< OutputIterator, SerializationOptions > daw::json::DAW_JSON_VER::json_details::to_daw_json_string_tuple (serialization_policy< OutputIterator, SerializationOptions > it, parse_to_t const &value, std::index_sequence< Is... >)
 
template<size_t TupleIdx, typename JsonMember , typename OutputIterator , json_options_t SerializerOptions, template< class... > class Tuple, typename... Args>
constexpr void daw::json::DAW_JSON_VER::json_details::to_json_ordered_str (std::size_t &array_idx, std::size_t array_size, serialization_policy< OutputIterator, SerializerOptions > &it, Tuple< Args... > const &tp)
 
template<std::size_t pos, typename JsonMember , typename OutputIterator , json_options_t SerializationOptions, typename Tuple , typename Value , typename Visited >
constexpr void daw::json::DAW_JSON_VER::json_details::to_json_str (bool &is_first, serialization_policy< OutputIterator, SerializationOptions > &it, Tuple const &tp, Value const &, Visited &visited_members)
 
template<typename Char >
constexpr char daw::json::DAW_JSON_VER::json_details::to_nibble_char (Char c)
 
template<typename T >
constexpr auto daw::json::DAW_JSON_VER::json_details::to_strings::to_string (std::optional< T > const &v) -> decltype(to_string(*v))
 
template<typename T >
auto daw::json::DAW_JSON_VER::json_details::to_strings::to_string_test::to_string_test (T &&v) -> decltype(to_string(DAW_FWD2(T, v)))
 
template<std::size_t idx, typename JsonMembers , typename OutputIterator , typename parse_to_t >
constexpr void daw::json::DAW_JSON_VER::json_details::to_variant_string (OutputIterator &it, parse_to_t const &value)
 
template<typename T >
auto daw::json::DAW_JSON_VER::from_json_conv_details::use_stream (std::string_view sv)
 
template<typename OutputIterator >
constexpr void daw::json::DAW_JSON_VER::json_details::utf32_to_utf8 (std::uint32_t cp, OutputIterator &it)
 

Variables

constexpr auto daw::json::DAW_JSON_VER::json_details::digits100
 
template<typename Needle , typename... Haystack>
static constexpr std::size_t daw::json::DAW_JSON_VER::json_details::find_names_in_pack_v
 
template<typename T >
constexpr bool daw::json::DAW_JSON_VER::json_details::has_from_string_v
 
template<typename T >
constexpr bool daw::json::DAW_JSON_VER::json_details::has_istream_op_v
 
template<typename T >
constexpr bool daw::json::DAW_JSON_VER::json_details::has_ostream_op_v
 
template<typename T >
constexpr bool daw::json::DAW_JSON_VER::json_details::to_strings::has_to_string_v = has_to_string<T>::value