LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Public Types | Public Member Functions | List of all members
lsst::pex::logging::PrinterList Class Referenceabstract

an abstract class that encapsulates a list of property values to be printed out. More...

#include <PropertyPrinter.h>

Inheritance diagram for lsst::pex::logging::PrinterList:
lsst::pex::logging::BaseTmplPrinterList< bool > lsst::pex::logging::BaseTmplPrinterList< lsst::daf::base::DateTime > lsst::pex::logging::BaseTmplPrinterList< T > lsst::pex::logging::BoolPrinterList lsst::pex::logging::DateTimePrinterList lsst::pex::logging::TmplPrinterList< T >

Public Types

typedef WrappedPrinterIter iterator
 

Public Member Functions

virtual ~PrinterList ()
 
virtual iterator begin () const =0
 
virtual iterator last () const =0
 
virtual size_t valueCount () const =0
 

Detailed Description

an abstract class that encapsulates a list of property values to be printed out.

The purpose of this class is wrap a list of property values (all of the same type) and provide an iterator for printing out those values. This class is not used directly by applications but internally via the PropertyPrinter. Since PropertyPrinter does not support all types by default, an application may need to subclass this class in order to support printing of a new type.

To support a new type in PropertyPrinter (via PrinterFactory) one must subclass this class and the PrinterIter class (the latter actually controls how the type gets printed to an output stream).

For types that already support the output operator (<<), an explicit subclass need not be defined. Instead, one can instantiate the makePrinter<T> factory function; the required subclasses will be generated automatically.

The PropertyPrinter.h file also provide support for printing DateTime properties via the explicitly defined DateTimePrinterList and DateTimePrinterIter because DateTime does not support the output (<<) operator. See the implementation of these classes for a good example supporting other types of this sort.

Definition at line 227 of file PropertyPrinter.h.

Member Typedef Documentation

Definition at line 229 of file PropertyPrinter.h.

Constructor & Destructor Documentation

virtual lsst::pex::logging::PrinterList::~PrinterList ( )
virtual

Member Function Documentation

virtual iterator lsst::pex::logging::PrinterList::begin ( ) const
pure virtual

return a PrinterIter set at the first property value

Implemented in lsst::pex::logging::BoolPrinterList, lsst::pex::logging::DateTimePrinterList, and lsst::pex::logging::TmplPrinterList< T >.

virtual iterator lsst::pex::logging::PrinterList::last ( ) const
pure virtual

return a PrinterIter set at the last property value

Implemented in lsst::pex::logging::BoolPrinterList, lsst::pex::logging::DateTimePrinterList, and lsst::pex::logging::TmplPrinterList< T >.

virtual size_t lsst::pex::logging::PrinterList::valueCount ( ) const
pure virtual

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