8#ifndef INCLUDED_BALJSN_JSONPARSERUTIL
9#define INCLUDED_BALJSN_JSONPARSERUTIL
105#include <balscm_version.h>
126#include <bsl_limits.h>
127#include <bsl_cstring.h>
128#include <bsl_string.h>
129#include <bsl_string_view.h>
130#include <bsl_vector.h>
164 static int getValue(
unsigned char *value,
166 static int getValue(
signed char *value,
170 static int getValue(
unsigned short *value,
174 static int getValue(
unsigned int *value,
199 static int getValue(std::string *value,
201#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
202 static int getValue(std::pmr::string *value,
357 const int rc =
getValue(&tmp, json);
359 *value =
static_cast<float>(tmp);
374 if (0 == bsl::strncmp(
"+inf",
377 *value = bsl::numeric_limits<double>::infinity();
379 }
else if (0 == bsl::strncmp(
"-inf",
382 *value = -bsl::numeric_limits<double>::infinity();
384 }
else if (0 == bsl::strncmp(
"nan",
387 *value = bsl::numeric_limits<double>::quiet_NaN();
435#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
458 static_cast<int>(data.length()));
471 static_cast<int>(data.length()));
484 static_cast<int>(data.length()));
498 static_cast<int>(data.length()));
511 static_cast<int>(data.length()));
524 static_cast<int>(data.length()));
538 static_cast<int>(data.length()));
552 static_cast<int>(data.length()));
566 static_cast<int>(data.length()));
Definition bdlb_variant.h:2592
Definition bdldfp_decimal.h:1890
const bsl::string & value() const
Return the textual representation of this JsonNumber.
Definition bdljsn_jsonnumber.h:1010
Definition bdljsn_json.h:1461
bool isBoolean() const
Definition bdljsn_json.h:5064
bool isNumber() const
Definition bdljsn_json.h:5076
bool isString() const
Definition bdljsn_json.h:5088
JsonNumber & theNumber()
Definition bdljsn_json.h:5112
bool & theBoolean()
Definition bdljsn_json.h:5100
const bsl::string & theString() const
Definition bdljsn_json.h:5320
Definition bdlt_datetz.h:161
Definition bdlt_date.h:294
Definition bdlt_datetimetz.h:308
Definition bdlt_datetime.h:330
Definition bdlt_timetz.h:190
Definition bdlt_time.h:195
Definition bslstl_stringview.h:471
Definition bslstl_string.h:1252
basic_string & assign(const basic_string &replacement)
Definition bslstl_string.h:6347
size_type size() const BSLS_KEYWORD_NOEXCEPT
Definition bslstl_string.h:7292
CHAR_TYPE * data() BSLS_KEYWORD_NOEXCEPT
Definition bslstl_string.h:7177
Definition bslstl_vector.h:1120
#define BSLA_UNREACHABLE
Definition bsla_unreachable.h:159
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1976
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition baljsn_convertfromjsonoptions.h:112
Definition baljsn_jsonparserutil.h:147
static int getValue(ParserUtil::TimeOrTimeTz *value, const bdljsn::Json &json)
static int getValue(bool *value, const bdljsn::Json &json)
Definition baljsn_jsonparserutil.h:238
static int getValue(ParserUtil::DatetimeOrDatetimeTz *value, const bdljsn::Json &json)
static int getValue(bsl::vector< char > *value, const bdljsn::Json &data)
static int getValue(bool *value, const bsl::string_view &data)
bdlb::Variant2< bdlt::Datetime, bdlt::DatetimeTz > DatetimeOrDatetimeTz
Definition baljsn_parserutil.h:215
static int parse(bsls::TimeInterval *result, const char *string, ssize_t length)
unsigned long long Uint64
Definition bsls_types.h:139
long long Int64
Definition bsls_types.h:134