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

#include <format.h>

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

Public Member Functions

 BasicArgFormatter (BasicFormatter< Char, Impl > &formatter, FormatSpec &spec, const Char *fmt)
 
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 Attributes

BasicFormatter< Char, Impl > & formatter_
 
const Char * format_
 

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::BasicArgFormatter< Impl, Char >

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

To use ~fmt::BasicArgFormatter 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::BasicArgFormatter or its superclass will be called.

Definition at line 1997 of file format.h.

Constructor & Destructor Documentation

template<typename Impl, typename Char>
fmt::BasicArgFormatter< Impl, Char >::BasicArgFormatter ( BasicFormatter< Char, Impl > &  formatter,
FormatSpec spec,
const Char *  fmt 
)
inline

Constructs an argument formatter object. formatter* is a reference to the main formatter object, spec contains format specifier information for standard argument types, and fmt points to the part of the format string being parsed for custom argument types.

Definition at line 2011 of file format.h.

Member Function Documentation

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

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

Definition at line 2017 of file format.h.

Member Data Documentation

template<typename Impl, typename Char>
const Char* fmt::BasicArgFormatter< Impl, Char >::format_
private

Definition at line 2000 of file format.h.

template<typename Impl, typename Char>
BasicFormatter<Char, Impl>& fmt::BasicArgFormatter< Impl, Char >::formatter_
private

Definition at line 1999 of file format.h.


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