DAW JSON Link
Loading...
Searching...
No Matches
Classes | Namespaces | Functions | Variables
daw_container_traits.h File Reference
#include "daw/json/impl/version.h"
#include "daw/json/concepts/daw_container_traits_fwd.h"
#include <daw/cpp_17.h>
#include <daw/daw_cpp20_concept.h>
#include <daw/daw_enable_requires.h>
#include <array>
#include <cstddef>
#include <iterator>
#include <type_traits>

Go to the source code of this file.

Classes

struct  daw::json::anonymous_namespace{daw_container_traits.h}::concepts::container_traits< std::array< T, N > >
 
struct  daw::json::anonymous_namespace{daw_container_traits.h}::concepts::container_traits< T DAW_ENABLEIF_S(container_detect::is_container_v< T >)>
 

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_container_traits.h}
 
namespace  daw::json::anonymous_namespace{daw_container_traits.h}::concepts
 
namespace  daw::json::anonymous_namespace{daw_container_traits.h}::concepts::container_detect
 

Functions

 daw::json::anonymous_namespace{daw_container_traits.h}::concepts::container_detect::DAW_JSON_MAKE_REQ_TRAIT (is_container_v,(void)(std::begin(std::declval< T & >())),(void)(std::end(std::declval< T & >())),(void)(std::declval< typename T::value_type >()),(void)(std::declval< T & >().insert(std::end(std::declval< T & >()), std::declval< typename T::value_type >())))
 

Variables

template<typename T >
DAW_CPP20_CONCEPT daw::json::anonymous_namespace{daw_container_traits.h}::concepts::is_container_v = container_traits<T>::value
 Is the type deduced or specialized as a container.