DAW JSON Link
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions
daw_json_parse_iso8601_utils.h File Reference
#include "daw/json/impl/version.h"
#include "daw/json/daw_json_switches.h"
#include "daw/json/impl/daw_json_assert.h"
#include "daw/json/impl/daw_json_parse_digit.h"
#include <daw/daw_arith_traits.h>
#include <daw/daw_attributes.h>
#include <daw/daw_cpp_feature_check.h>
#include <daw/daw_cxmath.h>
#include <daw/daw_not_null.h>
#include <daw/daw_string_view.h>
#include <daw/daw_traits.h>
#include <daw/daw_uint_buffer.h>
#include <cassert>
#include <chrono>
#include <cstdint>
#include <type_traits>

Go to the source code of this file.

Classes

struct  daw::json::anonymous_namespace{daw_json_parse_iso8601_utils.h}::datetime::date_parts
 
struct  daw::json::anonymous_namespace{daw_json_parse_iso8601_utils.h}::datetime::time_parts
 
struct  daw::json::anonymous_namespace{daw_json_parse_iso8601_utils.h}::datetime::ymdhms
 

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_parse_iso8601_utils.h}
 
namespace  daw::json::anonymous_namespace{daw_json_parse_iso8601_utils.h}::datetime
 
namespace  daw::json::anonymous_namespace{daw_json_parse_iso8601_utils.h}::parse_utils
 

Typedefs

using daw::json::anonymous_namespace{daw_json_parse_iso8601_utils.h}::datetime::attoseconds = std::chrono::duration< std::int64_t, std::atto >
 

Functions

template<typename TP = std::chrono::time_point<std::chrono::system_clock, std::chrono::milliseconds>>
constexpr TP daw::json::anonymous_namespace{daw_json_parse_iso8601_utils.h}::datetime::civil_to_time_point (std::int32_t yr, std::uint32_t mo, std::uint32_t dy, std::uint32_t hr, std::uint32_t mn, std::uint32_t se, std::uint64_t attosecond)
 
constexpr bool daw::json::anonymous_namespace{daw_json_parse_iso8601_utils.h}::parse_utils::is_number (char c)
 
constexpr std::string_view daw::json::anonymous_namespace{daw_json_parse_iso8601_utils.h}::datetime::month_short_name (unsigned m)
 
template<typename TP >
constexpr TP daw::json::anonymous_namespace{daw_json_parse_iso8601_utils.h}::datetime::parse_iso8601_timestamp (daw::string_view ts)
 
constexpr date_parts daw::json::anonymous_namespace{daw_json_parse_iso8601_utils.h}::datetime::parse_iso_8601_date (daw::string_view timestamp_str)
 
constexpr time_parts daw::json::anonymous_namespace{daw_json_parse_iso8601_utils.h}::datetime::parse_iso_8601_time (daw::string_view timestamp_str)
 
constexpr unsigned daw::json::anonymous_namespace{daw_json_parse_iso8601_utils.h}::datetime::parse_short_month (std::string_view ts)
 
template<typename Result , std::size_t count>
constexpr Result daw::json::anonymous_namespace{daw_json_parse_iso8601_utils.h}::parse_utils::parse_unsigned (daw::not_null< char const * > digit_str)
 
template<typename Result >
constexpr Result daw::json::anonymous_namespace{daw_json_parse_iso8601_utils.h}::parse_utils::parse_unsigned2 (daw::not_null< char const * > digit_str)
 
template<typename Duration >
constexpr std::string_view daw::json::anonymous_namespace{daw_json_parse_iso8601_utils.h}::datetime::short_day_of_week (std::chrono::time_point< std::chrono::system_clock, Duration > tp)
 
template<typename Clock , typename Duration >
constexpr ymdhms daw::json::anonymous_namespace{daw_json_parse_iso8601_utils.h}::datetime::time_point_to_civil (std::chrono::time_point< Clock, Duration > const tp)