Teuchos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Teuchos::TabularOutputter Class Reference

Utility class that makes it easy to create formatted tables of output. More...

#include <Teuchos_TabularOutputter.hpp>

Classes

struct  FieldSpec
 
class  InvalidFieldOutputError
 
class  InvalidFieldSpecError
 
class  MissingFieldsError
 
class  MissingHeaderError
 

Public Member Functions

 TabularOutputter (std::ostream &out)
 
 TabularOutputter (const RCP< std::ostream > &out)
 
void setOStream (const RCP< std::ostream > &out)
 Set the ostream that all output will be sent to. More...
 
void pushFieldSpec (const std::string &fieldName, const EFieldType fieldType=DOUBLE, const EFieldJustification fieldJustification=RIGHT, const EFloatingOutputType floatingOutputType=SCIENTIFIC, const int width=-1)
 Add a new field to be output. More...
 
void setFieldTypePrecision (const EFieldType fieldType, const int prec)
 Set the precision of output for a field. More...
 
void outputHeader ()
 Output the headers. More...
 
template<typename T >
void outputField (const T &t)
 Output to the next field. More...
 
void nextRow (const bool allowRemainingFields=false)
 Finalize the row of output. More...
 
void startTimer (const int numLoops)
 
double stopTimer ()
 

Private Member Functions

void initialize ()
 
double adjustTime (const double &time_in)
 
 TabularOutputter ()
 

Private Attributes

Array< FieldSpecfieldSpecs_
 
RCP< FancyOStreamout_
 
Tuple< int, numFieldTypesfieldTypePrecision_
 
int currFieldIdx_
 
Time timer_
 
int numLoops_
 

Static Private Attributes

static const std::string fieldSpacer_
 

Public types

enum  EFieldType { DOUBLE, INT, STRING }
 
enum  { numFieldTypes = 3 }
 
enum  EFieldJustification { LEFT, RIGHT }
 
enum  { numFieldJustifications = 2 }
 
enum  EFloatingOutputType { SCIENTIFIC, GENERAL }
 
enum  { numFloatingOutputTypes = 2 }
 

Detailed Description

Utility class that makes it easy to create formatted tables of output.

Definition at line 29 of file Teuchos_TabularOutputter.hpp.

Member Enumeration Documentation

Enumerator
DOUBLE 
INT 
STRING 

Definition at line 36 of file Teuchos_TabularOutputter.hpp.

anonymous enum
Enumerator
numFieldTypes 

Definition at line 37 of file Teuchos_TabularOutputter.hpp.

Enumerator
LEFT 
RIGHT 

Definition at line 40 of file Teuchos_TabularOutputter.hpp.

anonymous enum
Enumerator
numFieldJustifications 

Definition at line 41 of file Teuchos_TabularOutputter.hpp.

Enumerator
SCIENTIFIC 
GENERAL 

Definition at line 44 of file Teuchos_TabularOutputter.hpp.

anonymous enum
Enumerator
numFloatingOutputTypes 

Definition at line 45 of file Teuchos_TabularOutputter.hpp.

Constructor & Destructor Documentation

Teuchos::TabularOutputter::TabularOutputter ( std::ostream &  out)

Definition at line 51 of file Teuchos_TabularOutputter.cpp.

Teuchos::TabularOutputter::TabularOutputter ( const RCP< std::ostream > &  out)

Definition at line 60 of file Teuchos_TabularOutputter.cpp.

Teuchos::TabularOutputter::TabularOutputter ( )
private

Member Function Documentation

void Teuchos::TabularOutputter::setOStream ( const RCP< std::ostream > &  out)

Set the ostream that all output will be sent to.

Definition at line 69 of file Teuchos_TabularOutputter.cpp.

void Teuchos::TabularOutputter::pushFieldSpec ( const std::string &  fieldName,
const EFieldType  fieldType = DOUBLE,
const EFieldJustification  fieldJustification = RIGHT,
const EFloatingOutputType  floatingOutputType = SCIENTIFIC,
const int  width = -1 
)

Add a new field to be output.

Definition at line 78 of file Teuchos_TabularOutputter.cpp.

void Teuchos::TabularOutputter::setFieldTypePrecision ( const EFieldType  fieldType,
const int  prec 
)

Set the precision of output for a field.

This will also determine the width of the field.

Definition at line 104 of file Teuchos_TabularOutputter.cpp.

void Teuchos::TabularOutputter::outputHeader ( )

Output the headers.

Definition at line 111 of file Teuchos_TabularOutputter.cpp.

template<typename T >
void Teuchos::TabularOutputter::outputField ( const T &  t)

Output to the next field.

Definition at line 213 of file Teuchos_TabularOutputter.hpp.

void Teuchos::TabularOutputter::nextRow ( const bool  allowRemainingFields = false)

Finalize the row of output.

Definition at line 152 of file Teuchos_TabularOutputter.cpp.

void Teuchos::TabularOutputter::initialize ( )
private

Definition at line 178 of file Teuchos_TabularOutputter.cpp.

double Teuchos::TabularOutputter::adjustTime ( const double &  time_in)
inlineprivate

Definition at line 147 of file Teuchos_TabularOutputter.hpp.

void Teuchos::TabularOutputter::startTimer ( const int  numLoops)
inline

Definition at line 154 of file Teuchos_TabularOutputter.hpp.

double Teuchos::TabularOutputter::stopTimer ( )
inline

Definition at line 161 of file Teuchos_TabularOutputter.hpp.

Member Data Documentation

const std::string Teuchos::TabularOutputter::fieldSpacer_
staticprivate

Definition at line 124 of file Teuchos_TabularOutputter.hpp.

Array<FieldSpec> Teuchos::TabularOutputter::fieldSpecs_
private

Definition at line 131 of file Teuchos_TabularOutputter.hpp.

RCP<FancyOStream> Teuchos::TabularOutputter::out_
private

Definition at line 132 of file Teuchos_TabularOutputter.hpp.

Tuple<int,numFieldTypes> Teuchos::TabularOutputter::fieldTypePrecision_
private

Definition at line 133 of file Teuchos_TabularOutputter.hpp.

int Teuchos::TabularOutputter::currFieldIdx_
private

Definition at line 138 of file Teuchos_TabularOutputter.hpp.

Time Teuchos::TabularOutputter::timer_
private

Definition at line 140 of file Teuchos_TabularOutputter.hpp.

int Teuchos::TabularOutputter::numLoops_
private

Definition at line 141 of file Teuchos_TabularOutputter.hpp.


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