Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
o2scl_acol::acol_manager Class Reference

The driver for 'acol' command-line utility. More...

#include <acolm.h>

Detailed Description

Idea for Future:
Stack-like operations (push, pop, swap, stack-list, etc.)?
Idea for Future:
Use get_input() in comm_create?
Idea for Future:
Add functionality to ensure that three digit exponents are still handled gracefully (do this by creating a new boolean setting which, if true, always makes three spaces for exponents?)
Idea for Future:
Fix insert and insert_full so that it automatically renames columns
Idea for Future:
Allow "insert" commands to be restrictive, avoiding extrapolation
Idea for Future:
Replace ~ with $HOME in filenames (this might be best done inside the o2scl::cli class). (Some progress made. Function cli::expand_tilde() is written but not yet implemented.)
Idea for Future:
New 3d commands: transpose (for table3d), contours, find_grid_x, find_grid_y.


Definition at line 94 of file acolm.h.

Classes

struct  iter_parms
 Parameters for iterate_func() More...
 

Public Member Functions

virtual int run (int argv, char *argc[], bool set_o2graph_mode=false)
 Main run function. More...
 
virtual int setup_cli ()
 Create the cli object (with readline support if available)
 
virtual int setup_options ()
 Add the options to the cli object.
 
virtual int setup_help ()
 Add the help text to the cli object.
 
virtual int setup_parameters ()
 Add the parameters for 'set' to the cli object.
 
virtual int comm_assign (std::vector< std::string > &sv, bool itive_com)
 Assign a constant.
 
virtual int comm_calc (std::vector< std::string > &sv, bool itive_com)
 Compute a scalar value.
 
virtual int comm_help (std::vector< std::string > &sv, bool itive_com)
 Desc.
 
virtual int comm_commands (std::vector< std::string > &sv, bool itive_com)
 List commands, with an optional type argument.
 
virtual int comm_create (std::vector< std::string > &sv, bool itive_com)
 Create a table from a column of equally spaced values.
 
virtual int comm_set_grid (std::vector< std::string > &sv, bool itive_com)
 
virtual int comm_download (std::vector< std::string > &sv, bool itive_com)
 Download a file from a specified URL.
 
virtual int comm_delete_col (std::vector< std::string > &sv, bool itive_com)
 Delete a column.
 
virtual int comm_delete_rows (std::vector< std::string > &sv, bool itive_com)
 Delete rows specified by a function.
 
virtual int comm_deriv (std::vector< std::string > &sv, bool itive_com)
 Create a column which is the derivative of another.
 
virtual int comm_to_table (std::vector< std::string > &sv, bool itive_com)
 Desc.
 
virtual int comm_to_table3d (std::vector< std::string > &sv, bool itive_com)
 Desc.
 
virtual int comm_autocorr (std::vector< std::string > &sv, bool itive_com)
 Desc.
 
virtual int comm_deriv_x (std::vector< std::string > &sv, bool itive_com)
 Create a slice which is the derivative wrt x of another.
 
virtual int comm_deriv_y (std::vector< std::string > &sv, bool itive_com)
 Create a slice which is the derivative wrt y of another.
 
virtual int comm_deriv2 (std::vector< std::string > &sv, bool itive_com)
 Create a column which is the second derivative of another.
 
virtual int comm_filelist (std::vector< std::string > &sv, bool itive_com)
 Read a file and list the O2scl objects.
 
virtual int comm_read (std::vector< std::string > &sv, bool itive_com)
 Read an object from a file.
 
virtual int comm_nlines (std::vector< std::string > &sv, bool itive_com)
 Add 'nlines' as a constant to a o2scl::table object.
 
virtual int comm_to_hist (std::vector< std::string > &sv, bool itive_com)
 Convert a o2scl::table object to a o2scl::hist object.
 
virtual int comm_type (std::vector< std::string > &sv, bool itive_com)
 Output the type of the current object to the screen.
 
virtual int comm_find_row (std::vector< std::string > &sv, bool itive_com)
 Find a row from a function.
 
virtual int comm_function (std::vector< std::string > &sv, bool itive_com)
 Create a column from a function.
 
virtual int comm_generic (std::vector< std::string > &sv, bool itive_com)
 Read a generic data file.
 
virtual int comm_get_row (std::vector< std::string > &sv, bool itive_com)
 Print out an entire row.
 
virtual int comm_slice (std::vector< std::string > &sv, bool itive_com)
 Extract a slice from a table3d object to generate a table object.
 
virtual int comm_fit (std::vector< std::string > &sv, bool itive_com)
 Fit two columns to a function.
 
virtual int comm_insert (std::vector< std::string > &sv, bool itive_com)
 Insert a column from an external table using interpolation.
 
virtual int comm_insert_full (std::vector< std::string > &sv, bool itive_com)
 Insert an external table using interpolation.
 
virtual int comm_integ (std::vector< std::string > &sv, bool itive_com)
 Create a column which is the integral of another.
 
virtual int comm_interactive (std::vector< std::string > &sv, bool itive_com)
 Toggle interactive mode.
 
virtual int comm_internal (std::vector< std::string > &sv, bool itive_com)
 Output to a file in internal format.
 
virtual int comm_interp (std::vector< std::string > &sv, bool itive_com)
 Create an html file.
 
virtual int comm_list (std::vector< std::string > &sv, bool itive_com)
 List columns in table 'tp' named 'tname' assuming screen size 'ncol'.
 
virtual int comm_max (std::vector< std::string > &sv, bool itive_com)
 Compute the maximum value of a colum.
 
virtual int comm_min (std::vector< std::string > &sv, bool itive_com)
 Compute the minimum value of a colum.
 
virtual int comm_index (std::vector< std::string > &sv, bool itive_com)
 Add a column for line numbers.
 
virtual int comm_output (std::vector< std::string > &sv, bool itive_com)
 Output to screen or file.
 
virtual int comm_preview (std::vector< std::string > &sv, bool itive_com)
 Preview the table.
 
virtual int comm_value (std::vector< std::string > &sv, bool itive_com)
 
virtual int comm_cat (std::vector< std::string > &sv, bool itive_com)
 Concatenate two table/table3d objects.
 
virtual int comm_sum (std::vector< std::string > &sv, bool itive_com)
 Sum two table/table3d objects.
 
virtual int comm_rename (std::vector< std::string > &sv, bool itive_com)
 Rename a column.
 
virtual int comm_select (std::vector< std::string > &sv, bool itive_com)
 Select several columns for a new table.
 
virtual int comm_select_rows (std::vector< std::string > &sv, bool itive_com)
 Select several rows for a new table.
 
virtual int comm_select_rows2 (std::vector< std::string > &sv, bool itive_com)
 A faster form of select rows which requires one to specify the columns needed for the selection criteria first.
 
virtual int comm_set (std::vector< std::string > &sv, bool itive_com)
 Post-processing for setting a value.
 
virtual int comm_set_data (std::vector< std::string > &sv, bool itive_com)
 Set an individual data point at a specified row and column.
 
virtual int comm_set_unit (std::vector< std::string > &sv, bool itive_com)
 Set units of a column.
 
virtual int comm_contours (std::vector< std::string > &sv, bool itive_com)
 Compute contour lines.
 
virtual int comm_show_units (std::vector< std::string > &sv, bool itive_com)
 Set units of a column.
 
virtual int comm_get_unit (std::vector< std::string > &sv, bool itive_com)
 Get units of a column.
 
virtual int comm_entry (std::vector< std::string > &sv, bool itive_com)
 Get an entry.
 
virtual int comm_convert_unit (std::vector< std::string > &sv, bool itive_com)
 Convert units of a column.
 
virtual int comm_sort (std::vector< std::string > &sv, bool itive_com)
 Sort the table by a column.
 
virtual int comm_stats (std::vector< std::string > &sv, bool itive_com)
 Get column stats.
 
virtual int comm_version (std::vector< std::string > &sv, bool itive_com)
 Print version.
 
virtual int comm_get_conv (std::vector< std::string > &sv, bool itive_com)
 Get a conversion factor.
 
int set_swidth (int ncol)
 Set screen witdth.
 
virtual int comm_none (std::vector< std::string > &sv, bool itive_com)
 A placeholder function which is used for documenting o2graph commands.
 

Static Public Member Functions

static herr_t iterate_func (hid_t loc, const char *name, const H5L_info_t *inf, void *op_data)
 HDF object iteration function.
 
static herr_t filelist_func (hid_t loc, const char *name, const H5L_info_t *inf, void *op_data)
 HDF object iteration function.
 

Public Attributes

std::string type
 String designating the current type.
 
cli * cl
 Dummy cli object for cli::cli_gets()
 
bool post_interactive
 True if we should run interactive mode after parsing the command-line.
 
std::string env_var_name
 The environment variable to read from.
 
std::map< std::string, std::string * > str_params
 String parameters.
 
std::map< std::string, int * > int_params
 Integer parameters.
 
Object storage
o2scl::table_units table_obj
 
o2scl::table3d table3d_obj
 
o2scl::hist hist_obj
 
o2scl::hist_2d hist_2d_obj
 
int int_obj
 
char char_obj
 
double double_obj
 
size_t size_t_obj
 
std::string string_obj
 
std::vector< o2scl::contour_linecont_obj
 
o2scl::uniform_grid< double > ug_obj
 
std::vector< int > intv_obj
 
std::vector< double > doublev_obj
 
std::vector< size_t > size_tv_obj
 
std::vector< std::string > stringv_obj
 
o2scl::tensor_grid tensor_grid_obj
 
Temporary storage for get slice
std::vector< double > xtemp
 
std::vector< double > ytemp
 
std::vector< double > stemp
 
Parameters for <tt>o2graph</tt> documentation
o2scl::cli::parameter_string p_cmap
 
o2scl::cli::parameter_string p_xtitle
 
o2scl::cli::parameter_string p_ytitle
 
o2scl::cli::parameter_double p_xlo
 
o2scl::cli::parameter_double p_xhi
 
o2scl::cli::parameter_double p_ylo
 
o2scl::cli::parameter_double p_yhi
 
o2scl::cli::parameter_double p_zlo
 
o2scl::cli::parameter_double p_zhi
 
o2scl::cli::parameter_bool p_xset
 
o2scl::cli::parameter_bool p_yset
 
o2scl::cli::parameter_bool p_zset
 
o2scl::cli::parameter_bool p_colbar
 
o2scl::cli::parameter_bool p_logx
 
o2scl::cli::parameter_bool p_logy
 
o2scl::cli::parameter_int p_font
 
o2scl::cli::parameter_double p_left_margin
 
o2scl::cli::parameter_double p_right_margin
 
o2scl::cli::parameter_double p_bottom_margin
 
o2scl::cli::parameter_double p_top_margin
 
std::string cmap
 
std::string xtitle
 
std::string ytitle
 
double xlo
 
double xhi
 
double ylo
 
double yhi
 
double zlo
 
double zhi
 
bool xset
 
bool yset
 
bool zset
 
bool colbar
 
bool logx
 
bool logy
 
int font
 
double left_margin
 
double right_margin
 
double top_margin
 
double bottom_margin
 

Protected Member Functions

void command_add (std::string new_type)
 Add new commands for type new_type.
 
void clear_obj ()
 Clear memory associated with the current object and set type to "".
 
void command_del ()
 Desc.
 
int get_input (std::vector< std::string > &sv, std::vector< std::string > &directions, std::vector< std::string > &in, std::string comm_name, bool itive_com)
 An internal command for prompting the user for command arguments.
 
int get_input_one (std::vector< std::string > &sv, std::string directions, std::string &in, std::string comm_name, bool itive_com)
 An internal command for prompting the user for one command argument.
 

Protected Attributes

bool o2graph_mode
 If true, then run in o2graph mode.
 
o2scl::comm_option_mfptr< acol_managercset
 The object for the set function.
 
format_float ffl
 The number formatter for html output.
 
o2scl::convert_unitscng
 Convert units object (initialized by constructor to global object)
 
int ncols
 Number of columns in screen.
 
Parameters modifiable by the user
int prec
 The output precision (default 6)
 
int verbose
 The verbosity level (default 1)
 
bool pretty
 True if we should make the output into neat columns (default true)
 
bool names_out
 True if we should output column names.
 
std::string obj_name
 The name of the table.
 
std::string unit_fname
 Filename for units command.
 
std::string def_args
 Default arguments from environment.
 
int user_ncols
 The number of columns requested by the user.
 
int interp_type
 The interpolation type.
 
int compress
 If set, try to compress.
 
bool scientific
 True for scientific output mode.
 
The parameter objects
o2scl::cli::parameter_string p_obj_name
 
o2scl::cli::parameter_string p_unit_fname
 
o2scl::cli::parameter_string p_def_args
 
o2scl::cli::parameter_int p_verbose
 
o2scl::cli::parameter_int p_compress
 
o2scl::cli::parameter_int p_prec
 
o2scl::cli::parameter_int p_ncols
 
o2scl::cli::parameter_int p_interp_type
 
o2scl::cli::parameter_bool p_scientific
 
o2scl::cli::parameter_bool p_pretty
 
o2scl::cli::parameter_bool p_names_out
 

Member Function Documentation

◆ run()

virtual int o2scl_acol::acol_manager::run ( int  argv,
char *  argc[],
bool  set_o2graph_mode = false 
)
virtual

Process command-line options using cli object, interface with the operating system via getenv(), instantiate and call the acol_manager object.


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

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).