DIY 3.0 data-parallel out-of-core C++ library

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Examples

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Functions Typedefs Groups Pages
Public Member Functions | List of all members
fmt::BasicArgFormatter< Impl, Char, Spec > Class Template Reference

`#include <diy/fmt/format.h>`

Inheritance diagram for fmt::BasicArgFormatter< Impl, Char, Spec >:

## Public Member Functions
| BasicArgFormatter (BasicFormatter< Char, Impl > &formatter, Spec &spec, const Char *fmt)
void | visit_custom (internal::Arg::CustomValue c)
Public Member Functions inherited from fmt::internal::ArgFormatterBase< Impl, Char, Spec >
| ArgFormatterBase (BasicWriter< Char > &w, Spec &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 (internal::Arg::StringValue< char > value)
void | visit_wstring (internal::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)

## Additional Inherited Members
Public Types inherited from fmt::internal::ArgFormatterBase< Impl, Char, Spec >
typedef Spec | SpecType
Protected Member Functions inherited from fmt::internal::ArgFormatterBase< Impl, Char, Spec >
BasicWriter< Char > & | writer ()
Spec & | spec ()
void | write (bool value)
void | write (const char *value)

## Detailed Description

### template<typename Impl, typename Char, typename Spec = fmt::FormatSpec>
class fmt::BasicArgFormatter< Impl, Char, Spec >

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.

## Constructor & Destructor Documentation

template<typename Impl, typename Char, typename Spec = fmt::FormatSpec>

fmt::BasicArgFormatter< Impl, Char, Spec >::BasicArgFormatter | ( | BasicFormatter< Char, Impl > & | formatter,
|  | Spec & | 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.

## Member Function Documentation

template<typename Impl, typename Char, typename Spec = fmt::FormatSpec>

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

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

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

- include/diy/fmt/format.h