8#ifndef INCLUDED_BDLB_GUIDFORMATTER
9#define INCLUDED_BDLB_GUIDFORMATTER
99#include <bdlscm_version.h>
114#include <bsl_iterator.h>
115#include <bsl_string_view.h>
134template <
class t_CHAR>
153 template <
class t_PARSE_CONTEXT>
155 t_PARSE_CONTEXT& parseContext);
166 template <
class t_FORMAT_CONTEXT>
167 typename t_FORMAT_CONTEXT::iterator
format(
169 t_FORMAT_CONTEXT& formatContext)
const;
181template <
class t_CHAR>
183: BloombergLP::bdlb::Guid_BslFmtFormatterImpl<t_CHAR> {
188#ifdef BSLS_LIBRARYFEATURES_HAS_CPP23_RANGE_FORMAT
195inline constexpr std::range_format
196 std::format_kind<BloombergLP::bdlb::Guid> = std::range_format::disabled;
212template <
class t_CHAR>
213template <
class t_PARSE_CONTEXT>
219 Specification::e_SECTIONS_FILL_ALIGN
220 | Specification::e_SECTIONS_WIDTH);
222 d_spec.parse(&parseContext, sections);
224 return parseContext.begin();
228template <
class t_CHAR>
229template <
class t_FORMAT_CONTEXT>
230typename t_FORMAT_CONTEXT::iterator
232 t_FORMAT_CONTEXT& formatContext)
const
235 typename t_FORMAT_CONTEXT::char_type>::value));
252 std::ptrdiff_t leftPad = 0;
253 std::ptrdiff_t rightPad = 0;
254 PadUtil::computePadding(&leftPad,
259 Specification::e_ALIGN_LEFT);
267 typename t_FORMAT_CONTEXT::iterator outIt = formatContext.out();
269 outIt = PadUtil::pad(outIt, leftPad, filler);
270 outIt = CharUtil::outputFromChar(
bsl::begin(buffer),
273 outIt = PadUtil::pad(outIt, rightPad, filler);
Definition bdlb_guid.h:201
void format(bsl::span< char, k_GUID_NUM_CHARS > buffer) const
@ k_GUID_NUM_CHARS
Definition bdlb_guid.h:207
Definition bslstl_stringview.h:471
#define BSLMF_ASSERT(expr)
Definition bslmf_assert.h:231
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
#define BSLS_KEYWORD_CONSTEXPR_CPP20
Definition bsls_keyword.h:645
Definition bdlb_algorithmworkaroundutil.h:74
Definition bdlat_valuetypefunctions.h:939
T::iterator begin(T &container)
Definition bslstl_iterator.h:1593
T::iterator end(T &container)
Definition bslstl_iterator.h:1621
Definition bslmf_issame.h:146
Definition bslfmt_padutil.h:151