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_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_visit.h>
#include <utf8/unchecked.h>
#include <array>
#include <ciso646>
#include <optional>
#include <sstream>
#include <string>
#include <third_party/dragonbox/dragonbox.h>
#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::missing_required_mapping_for< typename >
 
struct  daw::json::DAW_JSON_VER::utils::utils_details::number< Integer >
 

Namespaces

 daw
 
 daw::json
 
 daw::json::DAW_JSON_VER
 
 daw::json::DAW_JSON_VER::from_json_conv_details
 
 daw::json::DAW_JSON_VER::json_details
 
 daw::json::DAW_JSON_VER::json_details::to_strings
 
 daw::json::DAW_JSON_VER::json_details::to_strings::to_string_test
 
 daw::json::DAW_JSON_VER::utils
 
 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::deref_t = daw::remove_cvref_t< decltype(deref_detect(std::declval< T >()))>
 
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 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 , 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, OutputIterator it, TpArgs const &args, Value const &v, VisitedMembers &visited_members)
 
constexpr void daw::json::DAW_JSON_VER::json_details::deref_detect (...)
 
template<typename T >
constexpr auto daw::json::DAW_JSON_VER::json_details::deref_detect (T &&value) -> decltype(*value)
 
template<typename Needle , typename... Haystack>
constexpr std::size_t daw::json::DAW_JSON_VER::json_details::find_names_in_pack (daw::fwd_pack< Haystack... >)
 
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 OutputIterator >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::output_hex (std::uint16_t c, OutputIterator it)
 
template<typename Real , typename OutputIterator >
constexpr OutputIterator daw::json::DAW_JSON_VER::real2string (Real const &value, OutputIterator out_it)
 
template<typename JsonMember , typename OutputIterator , typename parse_to_t >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::Array >, 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::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 , typename parse_to_t >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::KeyValue >, 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::KeyValueArray >, OutputIterator 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 >
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 , typename parse_to_t >
constexpr OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string (ParseTag< JsonParseTypes::Tuple >, 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::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::VariantTagged >, OutputIterator it, parse_to_t const &value)
 
template<typename JsonMember , typename OutputIterator , typename parse_to_t , std::size_t... Is>
OutputIterator daw::json::DAW_JSON_VER::json_details::to_daw_json_string_tuple (OutputIterator it, parse_to_t const &value, std::index_sequence< Is... >)
 
template<size_t TupleIdx, typename JsonMember , typename OutputIterator , template< class... > class Tuple, typename... Args>
constexpr void daw::json::DAW_JSON_VER::json_details::to_json_ordered_str (std::size_t &array_idx, OutputIterator &it, Tuple< Args... > const &tp)
 
template<std::size_t pos, typename JsonMember , typename OutputIterator , typename Tuple , typename Value , typename Visited >
constexpr void daw::json::DAW_JSON_VER::json_details::to_json_str (bool &is_first, OutputIterator &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 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
 
template<typename Optional >
constexpr bool daw::json::DAW_JSON_VER::json_details::is_valid_optional_v