9#ifndef __Table_Stream_h
10#define __Table_Stream_h
23 table_stream( std::ostream *set_target );
24 void set_stream( std::ostream *set_target );
26 typedef std::ostream& (*token_type) ( std::ostream& os );
28 enum justification { left, right, centre };
30 void add_string( std::string );
34 bool is_numeric( std::string );
36 void determine_widths(
void );
37 void determine_justifications(
void );
44 std::vector< std::string > headings;
45 std::vector< std::vector< std::string > > data;
46 std::vector< int > column_widths;
47 std::vector< justification > justifications;
50extern table_stream &operator<<( table_stream &rhs,
const std::string &lhs );
51extern table_stream &operator<<( table_stream &rhs, table_stream::token_type);