8#ifndef INCLUDED_BDLT_ISO8601UTIL
9#define INCLUDED_BDLT_ISO8601UTIL
679#include <bdlscm_version.h>
700#include <bsl_cstddef.h>
701#include <bsl_ostream.h>
702#include <bsl_string.h>
713#define BDLT_ISO8601UTIL_DEPRECATE_GENERATE \
714 BSLS_DEPRECATE_FEATURE("bdl", \
716 "use overload with GenerateConfiguration")
718#define BDLT_ISO8601UTIL_DEPRECATE_GENERATE_ORDER \
719 BSLS_DEPRECATE_FEATURE("bdl", \
721 "use overload with length before object")
723#define BDLT_ISO8601UTIL_DEPRECATE_GENERATERAW \
724 BSLS_DEPRECATE_FEATURE("bdl", \
726 "use overload with GenerateConfiguration")
728#define BDLT_ISO8601UTIL_DEPRECATE_PARSERELAXED \
729 BSLS_DEPRECATE_FEATURE("bdl", \
731 "use parse with ParseConfiguration")
781#ifndef BDE_OMIT_INTERNAL_DEPRECATED
959 static int generate(std::string *
string,
964 static int generate(std::string *
string,
969 static int generate(std::string *
string,
974 static int generate(std::string *
string,
979 static int generate(std::string *
string,
984 static int generate(std::string *
string,
989 static int generate(std::string *
string,
994 static int generate(std::string *
string,
999 static int generate(std::string *
string,
1004 static int generate(std::string *
string,
1010#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
1019 static int generate(std::pmr::string *
string,
1021 static int generate(std::pmr::string *
string,
1024 static int generate(std::pmr::string *
string,
1025 const Date&
object);
1026 static int generate(std::pmr::string *
string,
1029 static int generate(std::pmr::string *
string,
1030 const Time&
object);
1031 static int generate(std::pmr::string *
string,
1034 static int generate(std::pmr::string *
string,
1036 static int generate(std::pmr::string *
string,
1039 static int generate(std::pmr::string *
string,
1041 static int generate(std::pmr::string *
string,
1044 static int generate(std::pmr::string *
string,
1046 static int generate(std::pmr::string *
string,
1049 static int generate(std::pmr::string *
string,
1051 static int generate(std::pmr::string *
string,
1054 static int generate(std::pmr::string *
string,
1056 static int generate(std::pmr::string *
string,
1059 static int generate(std::pmr::string *
string,
1061 static int generate(std::pmr::string *
string,
1064 static int generate(std::pmr::string *
string,
1066 static int generate(std::pmr::string *
string,
1079 bsl::ostream& stream,
1082 bsl::ostream& stream,
1086 bsl::ostream& stream,
1087 const Date&
object);
1089 bsl::ostream& stream,
1093 bsl::ostream& stream,
1094 const Time&
object);
1096 bsl::ostream& stream,
1100 bsl::ostream& stream,
1103 bsl::ostream& stream,
1107 bsl::ostream& stream,
1110 bsl::ostream& stream,
1114 bsl::ostream& stream,
1117 bsl::ostream& stream,
1121 bsl::ostream& stream,
1124 bsl::ostream& stream,
1128 bsl::ostream& stream,
1131 bsl::ostream& stream,
1135 bsl::ostream& stream,
1138 bsl::ostream& stream,
1142 bsl::ostream& stream,
1145 bsl::ostream& stream,
1167 const Date&
object);
1172 const Time&
object);
1723#ifndef BDE_OMIT_INTERNAL_DEPRECATED
1955 bool useZAbbreviationForUtc);
1960 bool useZAbbreviationForUtc);
1965 bool useZAbbreviationForUtc);
1970 static bsl::ostream&
generate(bsl::ostream& stream,
1972 bool useZAbbreviationForUtc);
1974 static bsl::ostream&
generate(bsl::ostream& stream,
1976 bool useZAbbreviationForUtc);
1978 static bsl::ostream&
generate(bsl::ostream& stream,
1980 bool useZAbbreviationForUtc);
1987 bool useZAbbreviationForUtc);
1991 bool useZAbbreviationForUtc);
1995 bool useZAbbreviationForUtc);
2027 defaultConfiguration());
2041 defaultConfiguration());
2055 defaultConfiguration());
2070 defaultConfiguration());
2084 defaultConfiguration());
2098 defaultConfiguration());
2113 defaultConfiguration());
2127 defaultConfiguration());
2141 defaultConfiguration());
2155 defaultConfiguration());
2162 return generate(
string,
object, defaultConfiguration());
2168 return generate(
string,
object, defaultConfiguration());
2174 return generate(
string,
object, defaultConfiguration());
2180 return generate(
string,
object, defaultConfiguration());
2186 return generate(
string,
object, defaultConfiguration());
2192 return generate(
string,
object, defaultConfiguration());
2198 return generate(
string,
object, defaultConfiguration());
2204 return generate(
string,
object, defaultConfiguration());
2210 return generate(
string,
object, defaultConfiguration());
2217 return generate(
string,
object, defaultConfiguration());
2224 return generate(
string,
object, defaultConfiguration());
2230 return generate(
string,
object, defaultConfiguration());
2236 return generate(
string,
object, defaultConfiguration());
2242 return generate(
string,
object, defaultConfiguration());
2248 return generate(
string,
object, defaultConfiguration());
2254 return generate(
string,
object, defaultConfiguration());
2260 return generate(
string,
object, defaultConfiguration());
2266 return generate(
string,
object, defaultConfiguration());
2272 return generate(
string,
object, defaultConfiguration());
2279 return generate(
string,
object, defaultConfiguration());
2282#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
2287 return generate(
string,
object, defaultConfiguration());
2293 return generate(
string,
object, defaultConfiguration());
2299 return generate(
string,
object, defaultConfiguration());
2305 return generate(
string,
object, defaultConfiguration());
2311 return generate(
string,
object, defaultConfiguration());
2317 return generate(
string,
object, defaultConfiguration());
2323 return generate(
string,
object, defaultConfiguration());
2329 return generate(
string,
object, defaultConfiguration());
2335 return generate(
string,
object, defaultConfiguration());
2340 const DatetimeOrDatetimeTz&
object)
2342 return generate(
string,
object, defaultConfiguration());
2352 defaultConfiguration());
2357 bsl::ostream& stream,
2369 return stream.write(buffer, len);
2377 defaultConfiguration());
2382 bsl::ostream& stream,
2391 return stream.write(buffer, len);
2399 defaultConfiguration());
2404 bsl::ostream& stream,
2413 return stream.write(buffer, len);
2422 defaultConfiguration());
2427 bsl::ostream& stream,
2436 return stream.write(buffer, len);
2444 defaultConfiguration());
2449 bsl::ostream& stream,
2458 return stream.write(buffer, len);
2466 defaultConfiguration());
2471 bsl::ostream& stream,
2480 return stream.write(buffer, len);
2489 defaultConfiguration());
2494 bsl::ostream& stream,
2506 return stream.write(buffer, len);
2515 defaultConfiguration());
2520 bsl::ostream& stream,
2532 return stream.write(buffer, len);
2541 defaultConfiguration());
2546 bsl::ostream& stream,
2558 return stream.write(buffer, len);
2567 defaultConfiguration());
2572 bsl::ostream& stream,
2584 return stream.write(buffer, len);
2594 defaultConfiguration());
2604 defaultConfiguration());
2614 defaultConfiguration());
2624 defaultConfiguration());
2634 defaultConfiguration());
2644 defaultConfiguration());
2654 defaultConfiguration());
2664 defaultConfiguration());
2674 defaultConfiguration());
2684 defaultConfiguration());
2693 return parse(result,
string.data(),
string.length());
2703 return parse(result,
string.data(),
string.length(), configuration);
2713 return parse(result,
string.data(),
string.length(), configuration);
2723 return parse(result,
string.data(),
string.length(), configuration);
2733 return parse(result,
string.data(),
string.length(), configuration);
2743 return parse(result,
string.data(),
string.length(), configuration);
2753 return parse(result,
string.data(),
string.length(), configuration);
2763 return parse(result,
string.data(),
string.length(), configuration);
2773 return parse(result,
string.data(),
string.length(), configuration);
2783 return parse(result,
string.data(),
string.length(), configuration);
2786#ifndef BDE_OMIT_INTERNAL_DEPRECATED
2825 return generate(buffer, bufferLength,
object);
2833 return generate(buffer, bufferLength,
object);
2841 return generate(buffer, bufferLength,
object);
2849 return generate(buffer, bufferLength,
object);
2857 return generate(buffer, bufferLength,
object);
2865 return generate(buffer, bufferLength,
object);
2872 bool useZAbbreviationForUtc)
2877 return generate(buffer, bufferLength,
object, configuration);
2884 bool useZAbbreviationForUtc)
2889 return generate(buffer, bufferLength,
object, configuration);
2896 bool useZAbbreviationForUtc)
2901 return generate(buffer, bufferLength,
object, configuration);
2907 bool useZAbbreviationForUtc)
2912 return generate(stream,
object, configuration);
2918 bool useZAbbreviationForUtc)
2923 return generate(stream,
object, configuration);
2929 bool useZAbbreviationForUtc)
2934 return generate(stream,
object, configuration);
2940 bool useZAbbreviationForUtc)
2945 return generateRaw(buffer,
object, configuration);
2951 bool useZAbbreviationForUtc)
2956 return generateRaw(buffer,
object, configuration);
2962 bool useZAbbreviationForUtc)
2967 return generateRaw(buffer,
object, configuration);
Definition bdlb_variant.h:2592
Definition bdlt_datetz.h:161
Definition bdlt_date.h:294
Definition bdlt_datetimetz.h:308
Definition bdlt_datetime.h:330
Definition bdlt_iso8601utilconfiguration.h:224
void setUseZAbbreviationForUtc(bool value)
static Iso8601UtilConfiguration defaultConfiguration()
Definition bdlt_iso8601utilconfiguration.h:409
Definition bdlt_iso8601utilparseconfiguration.h:158
Definition bdlt_timetz.h:190
Definition bdlt_time.h:195
Definition bslstl_stringview.h:471
Definition bslstl_string.h:1252
Definition bsls_timeinterval.h:307
#define BDLT_ISO8601UTIL_DEPRECATE_GENERATE
Definition bdlt_iso8601util.h:713
#define BDLT_ISO8601UTIL_DEPRECATE_GENERATERAW
Definition bdlt_iso8601util.h:723
#define BDLT_ISO8601UTIL_DEPRECATE_PARSERELAXED
Definition bdlt_iso8601util.h:728
#define BDLT_ISO8601UTIL_DEPRECATE_GENERATE_ORDER
Definition bdlt_iso8601util.h:718
#define BSLS_ASSERT_SAFE(X)
Definition bsls_assert.h:1917
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bbldc_basicisma30360.h:112
Definition bdlt_iso8601util.h:707
Definition bdlt_iso8601util.h:750
static int generate(std::string *string, const Date &object, const GenerateConfiguration &configuration)
static int generateRaw(char *buffer, const TimeOrTimeTz &object, const GenerateConfiguration &configuration)
static int generate(bsl::string *string, const DateTz &object, const GenerateConfiguration &configuration)
static BDLT_ISO8601UTIL_DEPRECATE_PARSERELAXED int parseRelaxed(DatetimeOrDatetimeTz *result, const char *string, ssize_t length)
static int generate(std::string *string, const DatetimeTz &object, const GenerateConfiguration &configuration)
Iso8601UtilConfiguration Configuration
Definition bdlt_iso8601util.h:802
static int generateRaw(char *buffer, const Time &object, const GenerateConfiguration &configuration)
static int parse(DatetimeTz *result, const char *string, ssize_t length, ParseConfiguration configuration=ParseConfiguration())
static int generate(bsl::string *string, const DatetimeTz &object, const GenerateConfiguration &configuration)
static int generate(char *buffer, ssize_t bufferLength, const DatetimeOrDatetimeTz &object, const GenerateConfiguration &configuration)
static int parse(Time *result, const char *string, ssize_t length, ParseConfiguration configuration=ParseConfiguration())
static int parse(Date *result, const char *string, ssize_t length, ParseConfiguration configuration=ParseConfiguration())
static int parse(Datetime *result, const char *string, ssize_t length, ParseConfiguration configuration=ParseConfiguration())
static int generateRaw(char *buffer, const DatetimeOrDatetimeTz &object, const GenerateConfiguration &configuration)
Iso8601UtilParseConfiguration ParseConfiguration
Configuration for string parsing.
Definition bdlt_iso8601util.h:808
static int generate(char *buffer, ssize_t bufferLength, const Datetime &object, const GenerateConfiguration &configuration)
static int generate(char *buffer, ssize_t bufferLength, const Date &object, const GenerateConfiguration &configuration)
static int generate(std::string *string, const Datetime &object, const GenerateConfiguration &configuration)
static int generate(bsl::string *string, const bsls::TimeInterval &object, const GenerateConfiguration &configuration)
static int generate(bsl::string *string, const DateOrDateTz &object, const GenerateConfiguration &configuration)
static int generate(bsl::string *string, const TimeOrTimeTz &object, const GenerateConfiguration &configuration)
bdlb::Variant2< Time, TimeTz > TimeOrTimeTz
Definition bdlt_iso8601util.h:816
static int generate(char *buffer, ssize_t bufferLength, const Time &object, const GenerateConfiguration &configuration)
static int generate(char *buffer, ssize_t bufferLength, const DateOrDateTz &object, const GenerateConfiguration &configuration)
static int generate(bsl::string *string, const Datetime &object, const GenerateConfiguration &configuration)
static int generate(std::string *string, const TimeOrTimeTz &object, const GenerateConfiguration &configuration)
bsl::ptrdiff_t ssize_t
Definition bdlt_iso8601util.h:800
Iso8601UtilConfiguration GenerateConfiguration
Configuration for string generation.
Definition bdlt_iso8601util.h:805
static int generateRaw(char *buffer, const bsls::TimeInterval &object)
Definition bdlt_iso8601util.h:2588
static int generate(std::string *string, const bsls::TimeInterval &object, const GenerateConfiguration &configuration)
static int parse(TimeTz *result, const char *string, ssize_t length, ParseConfiguration configuration=ParseConfiguration())
static int generate(bsl::string *string, const DatetimeOrDatetimeTz &object, const GenerateConfiguration &configuration)
bdlb::Variant2< Datetime, DatetimeTz > DatetimeOrDatetimeTz
Definition bdlt_iso8601util.h:820
static int parse(DateTz *result, const char *string, ssize_t length, ParseConfiguration configuration=ParseConfiguration())
static int generate(std::string *string, const TimeTz &object, const GenerateConfiguration &configuration)
static int generate(char *buffer, ssize_t bufferLength, const DatetimeTz &object, const GenerateConfiguration &configuration)
static int generateRaw(char *buffer, const TimeTz &object, const GenerateConfiguration &configuration)
static int generate(std::string *string, const DatetimeOrDatetimeTz &object, const GenerateConfiguration &configuration)
static int generate(std::string *string, const DateTz &object, const GenerateConfiguration &configuration)
static int generateRaw(char *buffer, const bsls::TimeInterval &object, const GenerateConfiguration &configuration)
static BDLT_ISO8601UTIL_DEPRECATE_PARSERELAXED int parseRelaxed(Datetime *result, const char *string, ssize_t length)
static int generate(char *buffer, ssize_t bufferLength, const TimeOrTimeTz &object, const GenerateConfiguration &configuration)
static BDLT_ISO8601UTIL_DEPRECATE_PARSERELAXED int parseRelaxed(DatetimeTz *result, const char *string, ssize_t length)
static int generate(char *buffer, ssize_t bufferLength, const TimeTz &object, const GenerateConfiguration &configuration)
static int generateRaw(char *buffer, const Date &object, const GenerateConfiguration &configuration)
static int generate(char *buffer, ssize_t bufferLength, const DateTz &object, const GenerateConfiguration &configuration)
static int generate(std::string *string, const Time &object, const GenerateConfiguration &configuration)
static int parse(TimeOrTimeTz *result, const char *string, ssize_t length, ParseConfiguration configuration=ParseConfiguration())
bdlb::Variant2< Date, DateTz > DateOrDateTz
Definition bdlt_iso8601util.h:812
static int generateRaw(char *buffer, const DateOrDateTz &object, const GenerateConfiguration &configuration)
static int generateRaw(char *buffer, const DatetimeTz &object, const GenerateConfiguration &configuration)
static int generate(bsl::string *string, const Time &object, const GenerateConfiguration &configuration)
static int generateRaw(char *buffer, const DateTz &object, const GenerateConfiguration &configuration)
static int generate(bsl::string *string, const Date &object, const GenerateConfiguration &configuration)
static int parse(DateOrDateTz *result, const char *string, ssize_t length, ParseConfiguration configuration=ParseConfiguration())
static int generateRaw(char *buffer, const Datetime &object, const GenerateConfiguration &configuration)
static int generate(bsl::string *string, const TimeTz &object, const GenerateConfiguration &configuration)
static int parse(bsls::TimeInterval *result, const char *string, ssize_t length)
static int generate(char *buffer, ssize_t bufferLength, const bsls::TimeInterval &object, const GenerateConfiguration &configuration)
@ BDEPU_DATETIME_STRLEN
Definition bdlt_iso8601util.h:783
@ k_DATETZ_STRLEN
Definition bdlt_iso8601util.h:769
@ k_DATE_STRLEN
Definition bdlt_iso8601util.h:768
@ BDEPU_MAX_DATETIME_STRLEN
Definition bdlt_iso8601util.h:788
@ k_TIME_STRLEN
Definition bdlt_iso8601util.h:771
@ TIMETZ_STRLEN
Definition bdlt_iso8601util.h:795
@ BDEPU_DATETIMETZ_STRLEN
Definition bdlt_iso8601util.h:784
@ DATETIMETZ_STRLEN
Definition bdlt_iso8601util.h:792
@ DATETZ_STRLEN
Definition bdlt_iso8601util.h:793
@ k_DATETIMETZ_STRLEN
Definition bdlt_iso8601util.h:775
@ k_TIMEINTERVAL_STRLEN
Definition bdlt_iso8601util.h:777
@ BDEPU_TIMETZ_STRLEN
Definition bdlt_iso8601util.h:787
@ k_MAX_STRLEN
Definition bdlt_iso8601util.h:779
@ BDEPU_DATE_STRLEN
Definition bdlt_iso8601util.h:782
@ DATE_STRLEN
Definition bdlt_iso8601util.h:790
@ MAX_DATETIME_STRLEN
Definition bdlt_iso8601util.h:796
@ TIME_STRLEN
Definition bdlt_iso8601util.h:794
@ BDEPU_TIME_STRLEN
Definition bdlt_iso8601util.h:786
@ k_TIMETZ_STRLEN
Definition bdlt_iso8601util.h:772
@ DATETIME_STRLEN
Definition bdlt_iso8601util.h:791
@ BDEPU_DATETZ_STRLEN
Definition bdlt_iso8601util.h:785
@ k_DATETIME_STRLEN
Definition bdlt_iso8601util.h:774
static int generate(char *buffer, ssize_t bufferLength, const bsls::TimeInterval &object)
Definition bdlt_iso8601util.h:2017
static int parse(DatetimeOrDatetimeTz *result, const char *string, ssize_t length, ParseConfiguration configuration=ParseConfiguration())
static int generate(std::string *string, const DateOrDateTz &object, const GenerateConfiguration &configuration)