9#ifndef INCLUDED_BSLFMT_FORMAT_CONTEXT
10#define INCLUDED_BSLFMT_FORMAT_CONTEXT
148#include <bslscm_version.h>
183template <
class t_OUT,
class t_CHAR>
184class basic_format_context;
186template <
class t_VALUE>
187class Format_ContextOutputIteratorRef;
189template <
class t_CONTEXT>
190class basic_format_arg;
192template <
class t_CONTEXT>
193class basic_format_args;
197typedef basic_format_context<Format_ContextOutputIteratorRef<char>,
char>
200typedef basic_format_context<Format_ContextOutputIteratorRef<wchar_t>,
wchar_t>
212template <
class t_CHAR>
219 virtual void put(t_CHAR character) = 0;
230template <
class t_CHAR,
class t_ITER>
261template <
class t_CHAR>
315template <
class t_OUT,
class t_CHAR>
330#if defined(BSLS_COMPILERFEATURES_SUPPORT_ALIAS_TEMPLATES)
331 template <
class t_TYPE>
383 template <
class t_OUT,
class t_CHAR>
399template <
class t_CHAR,
class t_ITER>
405 typedef typename bsl::iterator_traits<t_ITER>::value_type ValueType;
414template <
class t_CHAR,
class t_ITER>
427template <
class t_CHAR>
436template <
class t_CHAR>
444template <
class t_CHAR>
448#if defined(BSLS_PLATFORM_CMP_GNU) && BSLS_PLATFORM_CMP_VERSION < 150000
449# pragma GCC diagnostic push
450# pragma GCC diagnostic ignored "-Warray-bounds"
459#if defined(BSLS_PLATFORM_CMP_GNU) && BSLS_PLATFORM_CMP_VERSION < 150000
460# pragma GCC diagnostic pop
464template <
class t_CHAR>
472template <
class t_CHAR>
485template <
class t_OUT,
class t_CHAR>
496template <
class t_OUT,
class t_CHAR>
501 return BloombergLP::bslmf::MovableRefUtil::move(d_out);
504template <
class t_OUT,
class t_CHAR>
508 d_out = BloombergLP::bslmf::MovableRefUtil::move(it);
512template <
class t_OUT,
class t_CHAR>
514typename basic_format_context<t_OUT, t_CHAR>::Arg
517 return d_args.get(
id);
525template <
class t_OUT,
class t_CHAR>
Definition bslfmt_format_context.h:376
static basic_format_context< t_OUT, t_CHAR > construct(t_OUT out, const basic_format_args< basic_format_context< t_OUT, t_CHAR > > &args)
Definition bslfmt_format_context.h:527
Definition bslfmt_format_context.h:213
virtual void put(t_CHAR character)=0
Definition bslfmt_format_context.h:232
Format_ContextOutputIteratorImpl(t_ITER &iter)
Definition bslfmt_format_context.h:402
void put(t_CHAR character) BSLS_KEYWORD_OVERRIDE
Definition bslfmt_format_context.h:415
Definition bslfmt_format_context.h:262
void reference
Definition bslfmt_format_context.h:273
void operator=(t_CHAR x)
Definition bslfmt_format_context.h:446
t_CHAR value_type
Definition bslfmt_format_context.h:272
Format_ContextOutputIteratorRef(Format_ContextOutputIteratorBase< t_CHAR > *base)
Definition bslfmt_format_context.h:429
Format_ContextOutputIteratorRef & operator*()
Definition bslfmt_format_context.h:439
Format_ContextOutputIteratorRef & operator++()
Definition bslfmt_format_context.h:467
void pointer
Definition bslfmt_format_context.h:274
bsl::output_iterator_tag iterator_category
Definition bslfmt_format_context.h:270
void difference_type
Definition bslfmt_format_context.h:271
Definition bslfmt_format_context.h:316
void advance_to(iterator it)
Update the contained iterator to that specified by it.
Definition bslfmt_format_context.h:506
iterator out()
Definition bslfmt_format_context.h:499
t_CHAR char_type
Definition bslfmt_format_context.h:328
Arg arg(size_t id) const BSLS_KEYWORD_NOEXCEPT
Definition bslfmt_format_context.h:515
t_OUT iterator
Definition bslfmt_format_context.h:327
#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_NOEXCEPT
Definition bsls_keyword.h:674
#define BSLS_KEYWORD_OVERRIDE
Definition bsls_keyword.h:695
Definition bslfmt_enablestreamedformatter.h:130
basic_format_context< Format_ContextOutputIteratorRef< char >, char > format_context
Definition bslfmt_format_arg.h:170
basic_format_context< Format_ContextOutputIteratorRef< wchar_t >, wchar_t > wformat_context
Definition bslfmt_format_arg.h:173
Definition bslmf_issame.h:146