paludis::Formatter< T1_, T2_, T3_, T4_, T5_, T6_, T7_, T8_, T9_, T10_, T11_, T12_, T13_, T14_, T15_ > Class Template Reference
[Formatters]

#include <formatter.hh>

Inheritance diagram for paludis::Formatter< T1_, T2_, T3_, T4_, T5_, T6_, T7_, T8_, T9_, T10_, T11_, T12_, T13_, T14_, T15_ >:

paludis::CanSpace

List of all members.

Basic operations

template<typename T_>
 Formatter (const T_ &t)
 Formatter (const Formatter &other)

Public Member Functions

virtual std::string newline () const
virtual std::string indent (const int i) const


Detailed Description

template<typename T1_, typename T2_, typename T3_, typename T4_, typename T5_, typename T6_, typename T7_, typename T8_, typename T9_, typename T10_, typename T11_, typename T12_, typename T13_, typename T14_, typename T15_>
class paludis::Formatter< T1_, T2_, T3_, T4_, T5_, T6_, T7_, T8_, T9_, T10_, T11_, T12_, T13_, T14_, T15_ >

A Formatter is a class that implements all the format routines for each of its template parameters.

A Formatter is required by most MetadataKey pretty_print methods. Instead of requiring that formatters support every format method with every possible role for every class, scary template voodoo is used to ensure that only the format methods appropriate for the classes passed as template parameters with roles appropriate for those classes are required.

A Formatter can be implicitly constructed from any type that implements CanFormat<> for every requested type, as well as the CanSpace interface.

For a basic formatter that uses paludis::stringify() to do all formatting, see StringifyFormatter.

Since:
0.26

Constructor & Destructor Documentation

template<typename T1_, typename T2_, typename T3_, typename T4_, typename T5_, typename T6_, typename T7_, typename T8_, typename T9_, typename T10_, typename T11_, typename T12_, typename T13_, typename T14_, typename T15_>
template<typename T_>
paludis::Formatter< T1_, T2_, T3_, T4_, T5_, T6_, T7_, T8_, T9_, T10_, T11_, T12_, T13_, T14_, T15_ >::Formatter ( const T_ &  t  )  [inline]

A Formatter is implicitly constructible from any type that supports all the relevant CanFormat<> interfaces, as well as the CanSpace interface.


Member Function Documentation

template<typename T1_, typename T2_, typename T3_, typename T4_, typename T5_, typename T6_, typename T7_, typename T8_, typename T9_, typename T10_, typename T11_, typename T12_, typename T13_, typename T14_, typename T15_>
virtual std::string paludis::Formatter< T1_, T2_, T3_, T4_, T5_, T6_, T7_, T8_, T9_, T10_, T11_, T12_, T13_, T14_, T15_ >::newline (  )  const [inline, virtual]

Output a newline.

Implements paludis::CanSpace.

template<typename T1_, typename T2_, typename T3_, typename T4_, typename T5_, typename T6_, typename T7_, typename T8_, typename T9_, typename T10_, typename T11_, typename T12_, typename T13_, typename T14_, typename T15_>
virtual std::string paludis::Formatter< T1_, T2_, T3_, T4_, T5_, T6_, T7_, T8_, T9_, T10_, T11_, T12_, T13_, T14_, T15_ >::indent ( const int  int  )  const [inline, virtual]

Output an indent marker of the specified indent level.

Implements paludis::CanSpace.


The documentation for this class was generated from the following file:
Generated on Mon Sep 21 10:36:10 2009 for paludis by  doxygen 1.5.4