8#ifndef INCLUDED_BDLJSN_STRINGUTIL
9#define INCLUDED_BDLJSN_STRINGUTIL
217#include <bdlscm_version.h>
221#include <bsl_ostream.h>
222#include <bsl_string.h>
223#include <bsl_string_view.h>
255 template <
class STRING>
256 static int readStringImp(STRING *value,
274#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
275 static int readString(std::pmr::string *value,
292#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
318template <
class STRING>
320int StringUtil::readStringImp(STRING *value,
326 if (2 >
string.size()) {
330 if (
string[0] !=
'"' &&
string[
string.size() - 1] !=
'"') {
345 return readStringImp(value,
string, flags);
353 return readStringImp(value,
string, flags);
356#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
362 return readStringImp(value,
string, flags);
Definition bslstl_stringview.h:471
BSLS_KEYWORD_CONSTEXPR_CPP14 basic_string_view substr(size_type position=0, size_type numChars=npos) const
Definition bslstl_stringview.h:2027
Definition bslstl_string.h:1252
#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
bsl::size_t size(const TYPE &array)
Return the number of elements in the specified array.
Definition bdljsn_error.h:142
Definition bdljsn_stringutil.h:237
static int writeString(bsl::ostream &stream, const bsl::string_view &string, int flags=e_NONE)
Flags
Definition bdljsn_stringutil.h:241
@ e_ACCEPT_CAPITAL_UNICODE_ESCAPE
Definition bdljsn_stringutil.h:243
@ e_NONE
Definition bdljsn_stringutil.h:242
@ e_NO_ESCAPING_FORWARD_SLASH
Definition bdljsn_stringutil.h:244
static int readUnquotedString(std::string *value, const bsl::string_view &string, int flags=e_NONE)
static int readString(bsl::string *value, const bsl::string_view &string, int flags=e_NONE)
Definition bdljsn_stringutil.h:341
static int readUnquotedString(bsl::string *value, const bsl::string_view &string, int flags=e_NONE)