NGL  6.5
The NCCA Graphics Library
fmt::BasicPrintfArgFormatter< Impl, Char > Class Template Reference

#include <format.h>

+ Inheritance diagram for fmt::BasicPrintfArgFormatter< Impl, Char >:
+ Collaboration diagram for fmt::BasicPrintfArgFormatter< Impl, Char >:

Public Member Functions

 BasicPrintfArgFormatter (BasicWriter< Char > &writer, FormatSpec &spec)
 
void visit_bool (bool value)
 
void visit_char (int value)
 
void visit_cstring (const char *value)
 
void visit_pointer (const void *value)
 
void visit_custom (internal::Arg::CustomValue c)
 
- Public Member Functions inherited from fmt::internal::ArgFormatterBase< Impl, Char >
 ArgFormatterBase (BasicWriter< Char > &w, FormatSpec &s)
 
template<typename T >
void visit_any_int (T value)
 
template<typename T >
void visit_any_double (T value)
 
void visit_bool (bool value)
 
void visit_char (int value)
 
void visit_cstring (const char *value)
 
void visit_string (Arg::StringValue< char > value)
 
void visit_wstring (Arg::StringValue< Char > value)
 
void visit_pointer (const void *value)
 
- Public Member Functions inherited from fmt::ArgVisitor< Impl, void >
void report_unhandled_arg ()
 
void visit_unhandled_arg ()
 
void visit_int (int value)
 
void visit_long_long (LongLong value)
 
void visit_uint (unsigned value)
 
void visit_ulong_long (ULongLong value)
 
void visit_bool (bool value)
 
void visit_char (int value)
 
void visit_any_int (T)
 
void visit_double (double value)
 
void visit_long_double (long double value)
 
void visit_any_double (T)
 
void visit_cstring (const char *)
 
void visit_string (Arg::StringValue< char >)
 
void visit_wstring (Arg::StringValue< wchar_t >)
 
void visit_pointer (const void *)
 
void visit_custom (Arg::CustomValue)
 
void visit (const Arg &arg)
 

Private Types

typedef internal::ArgFormatterBase< Impl, Char > Base
 

Private Member Functions

void write_null_pointer ()
 

Additional Inherited Members

- Protected Member Functions inherited from fmt::internal::ArgFormatterBase< Impl, Char >
BasicWriter< Char > & writer ()
 
FormatSpecspec ()
 
void write (bool value)
 
void write (const char *value)
 

Detailed Description

template<typename Impl, typename Char>
class fmt::BasicPrintfArgFormatter< Impl, Char >

A printf argument formatter based on the curiously recurring template pattern <http://en.wikipedia.org/wiki/Curiously_recurring_template_pattern>_.

To use ~fmt::BasicPrintfArgFormatter define a subclass that implements some or all of the visit methods with the same signatures as the methods in ~fmt::ArgVisitor, for example, ~fmt::ArgVisitor::visit_int(). Pass the subclass as the Impl template parameter. When a formatting function processes an argument, it will dispatch to a visit method specific to the argument type. For example, if the argument type is double then the ~fmt::ArgVisitor::visit_double() method of a subclass will be called. If the subclass doesn't contain a method with this signature, then a corresponding method of ~fmt::BasicPrintfArgFormatter or its superclass will be called.

Definition at line 385 of file format.h.

Member Typedef Documentation

template<typename Impl, typename Char>
typedef internal::ArgFormatterBase<Impl, Char> fmt::BasicPrintfArgFormatter< Impl, Char >::Base
private

Definition at line 200 of file printf.h.

Constructor & Destructor Documentation

template<typename Impl, typename Char>
fmt::BasicPrintfArgFormatter< Impl, Char >::BasicPrintfArgFormatter ( BasicWriter< Char > &  writer,
FormatSpec spec 
)
inline

Constructs an argument formatter object. writer* is a reference to the output writer and spec contains format specifier information for standard argument types.

Definition at line 210 of file printf.h.

Member Function Documentation

template<typename Impl, typename Char>
void fmt::BasicPrintfArgFormatter< Impl, Char >::visit_bool ( bool  value)
inline

Formats an argument of type bool.

Definition at line 214 of file printf.h.

template<typename Impl, typename Char>
void fmt::BasicPrintfArgFormatter< Impl, Char >::visit_char ( int  value)
inline

Formats a character.

Definition at line 223 of file printf.h.

template<typename Impl, typename Char>
void fmt::BasicPrintfArgFormatter< Impl, Char >::visit_cstring ( const char *  value)
inline

Formats a null-terminated C string.

Definition at line 246 of file printf.h.

template<typename Impl, typename Char>
void fmt::BasicPrintfArgFormatter< Impl, Char >::visit_custom ( internal::Arg::CustomValue  c)
inline

Formats an argument of a custom (user-defined) type.

Definition at line 264 of file printf.h.

template<typename Impl, typename Char>
void fmt::BasicPrintfArgFormatter< Impl, Char >::visit_pointer ( const void value)
inline

Formats a pointer.

Definition at line 256 of file printf.h.

template<typename Impl, typename Char>
void fmt::BasicPrintfArgFormatter< Impl, Char >::write_null_pointer ( )
inlineprivate

Definition at line 195 of file printf.h.


The documentation for this class was generated from the following files: