C++ Extensions (cppx) Documentation Internal Version
Main | Namespaces | Classes | NamespaceMembers | ClassMembers | Files

stdx::TableWriter Class Template Reference

template<class T>
class stdx::TableWriter< T >

This class helps make text tables. It takes care of column width and alignment, column and row dividers, and labels. Here is a example which makes use of stdxContainerInit.h Classes and Functions to create the label and data vectors. Notice that you can use spaces in the vertical lable divider and the column separator to create cell inner margins.

 typedef vector<string> strvec_t;

 strvec_t colLabels = mkVec<string>( "Item1", "Item2", "Item3", "Item4" );
 strvec_t rowLabels = mkVec<string>( "Iteresting trees", "Fruits I like", "Animals" );

 vector< vector<string> > data;
 data += mkVec<string>( "oak",  "pine",  "maple",  "spruce" ),
         mkVec<string>( "pear", "apple", "mango",  "orange" ),
         mkVec<string>( "bear", "fox",   "rabbit"           );

 stdx::TableWriter<string> tblWriter;
 tblWriter.setData( stdx::iseq(data) );
 tblWriter.setRowLabels( stdx::ciseq(rowLabels) );
 tblWriter.setColLabels( stdx::ciseq(colLabels) );
 tblWriter.setHorizLabelDivider('-');
 tblWriter.setVertLabelDivider(" | ");
 tblWriter.setColSep(" : ");
 tblWriter.setMinColWidth(10);
 tblWriter.setIndent(2);
 tblWriter.writeTable( utst::TestLog::msgStream() );

Results in the following table:

                  |      Item1 :      Item2 :      Item3 :      Item4
 --------------------------------------------------------------------
 Iteresting trees |        oak :       pine :      maple :     spruce
 Fruits I like    |       pear :      apple :      mango :     orange
 Animals          |       bear :        fox :     rabbit :
 

List of all members.

Public Methods

Detailed Documentation

Constructor & Destructor Documentation

template<class T>
stdx::TableWriter< T >::TableWriter  
 

template<class T>
stdx::TableWriter< T >::~TableWriter  
 

Member Function Documentation

template<class T>
template<class I1>
void stdx::TableWriter< T >::setData stdx::Iseq< I1 >    inSeq
 

template<class T>
template<class I>
void stdx::TableWriter< T >::setRowLabels stdx::Iseq< I >    inSeq
 

template<class T>
template<class I>
void stdx::TableWriter< T >::setColLabels stdx::Iseq< I >    inSeq
 

template<class T>
void stdx::TableWriter< T >::setTitle const std::string    title
 

template<class T>
void stdx::TableWriter< T >::setMinColWidth int    colWidth
 

template<class T>
void stdx::TableWriter< T >::enableColTotals bool    enable
 

template<class T>
void stdx::TableWriter< T >::enableRowTotals bool    enable
 

template<class T>
void stdx::TableWriter< T >::setVertLabelDivider std::string    str
 

template<class T>
void stdx::TableWriter< T >::setHorizLabelDivider char    c
 

template<class T>
void stdx::TableWriter< T >::setColSep std::string    str
 

template<class T>
void stdx::TableWriter< T >::setIndent int    chars
 

template<class T>
void stdx::TableWriter< T >::setNumCols int    numCols
 

template<class T>
void stdx::TableWriter< T >::writeTable std::ostream &    os
 



The documentation for this class was generated from the following file:
Generated on Mon Aug 15 21:43:10 2005 by Doxygen 1.2.13-20020210 written by Dimitri van Heesch © 1997-2002