columnify Class Reference

#include <columnify.h>


Detailed Description

Create nicely formatted columns from a table of strings.

This is a brute-force approach of order $ \mathrm{ncols} \times \mathrm{nrows} $.

Todo:
Move the screenify() functionality from misc.h into this class?

Definition at line 48 of file columnify.h.


Public Member Functions

 columnify ()
template<class mat_string_t, class vec_string_t, class vec_int_t>
int align (const mat_string_t &table, size_t ncols, size_t nrows, vec_string_t &ctable, vec_int_t &align_spec)
 Take table and create a new object ctable with appropriately formatted columns.

Static Public Attributes

static const int align_left = 1
 Align the left-hand sides.
static const int align_right = 2
 Align the right-hand sides.
static const int align_lmid = 3
 Center, slightly to the left if spacing is uneven.
static const int align_rmid = 4
 Center, slightly to the right if spacing is uneven.
static const int align_dp = 5
 Align with decimal points.
static const int align_lnum = 6
 Align negative numbers to the left and use a space for positive numbers.

Member Function Documentation

int align ( const mat_string_t &  table,
size_t  ncols,
size_t  nrows,
vec_string_t &  ctable,
vec_int_t &  align_spec 
) [inline]

Take table and create a new object ctable with appropriately formatted columns.

The table of strings should be stored in table in "column-major" order, so that table has the interpretation of a set of columns to be aligned. Before calling align(), ctable should be allocated so that at least the first nrows entries can be assigned, and align_spec should contain ncols entries specifying the style of alignment for each column.

Definition at line 82 of file columnify.h.


The documentation for this class was generated from the following file:
Documentation generated with Doxygen and provided under the GNU Free Documentation License. See License Information for details.