8#ifndef INCLUDED_BDLT_FORMATUTIL
9#define INCLUDED_BDLT_FORMATUTIL
54#include <bdlscm_version.h>
70#include <bsl_algorithm.h>
71#include <bsl_charconv.h>
72#include <bsl_cstddef.h>
109 template <
class t_ITERATOR>
122 template <
class t_ITERATOR>
133template <
class t_CHAR>
134template <
class t_ITERATOR>
141 BSLS_ASSERT(0 <= millisecond && millisecond < 1000);
142 BSLS_ASSERT(0 <= microsecond && microsecond < 1000);
145 if (precision == 0) {
148 *out++ = t_CHAR(decimalChar);
150 char buffer[12] =
"000000";
151 bsl::to_chars_result result = bsl::to_chars(
154 millisecond * 1000 + microsecond);
157 char *valueBegin = result.ptr - 6;
158 char *valueEnd = result.ptr;
161 out = bsl::copy(valueBegin, valueEnd, out);
162 out = PadUtil::pad(out, precision - 6,
'0');
165 out = bsl::copy(valueBegin, valueBegin + precision, out);
171template <
class t_CHAR>
172template <
class t_ITERATOR>
181 enum { k_BUF_LEN = 6 };
184 bsl::to_chars_result result = bsl::to_chars(
bsl::begin(buf),
188 char *
const end = result.ptr;
190 bsl::ptrdiff_t padWidth = numDigits - bsl::distance(buf, end);
192 out = PadUtil::pad(out, padWidth,
'0');
Definition bslstl_stringview.h:471
#define BSLMF_ASSERT(expr)
Definition bslmf_assert.h:231
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1976
#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
T::iterator begin(T &container)
Definition bslstl_iterator.h:1593
T::iterator end(T &container)
Definition bslstl_iterator.h:1621
Enum
Definition bslstl_errc.h:144
Definition bslmf_issame.h:146
Definition bslfmt_padutil.h:151