29#include <mstdlib/base/m_defs.h>
30#include <mstdlib/base/m_types.h>
440M_API M_bool
M_table_load_csv(
M_table_t *table,
const char *data,
size_t len,
char delim,
char quote, M_uint32 flags, M_bool have_header);
struct M_hash_dict M_hash_dict_t
Definition: m_hash_dict.h:52
struct M_json_node M_json_node_t
Definition: m_json.h:95
int(* M_sort_compar_t)(const void *arg1, const void *arg2, void *thunk)
Definition: m_sort.h:78
void M_table_destroy(M_table_t *table) M_FREE(1)
char * M_table_write_markdown(const M_table_t *table, M_uint32 flags)
M_bool M_table_cell_clear(M_table_t *table, size_t row, const char *colname)
void M_table_row_remove(M_table_t *table, size_t idx)
const char * M_table_column_name(const M_table_t *table, size_t idx)
M_bool M_table_load_json(M_table_t *table, const char *data, size_t len)
M_bool M_table_merge(M_table_t **dest, M_table_t *src) M_FREE(2)
M_bool M_table_row_insert_dict_at(M_table_t *table, size_t idx, const M_hash_dict_t *data, M_uint32 flags)
M_table_t * M_table_duplicate(const M_table_t *table) M_MALLOC
char * M_table_write_json(const M_table_t *table, M_uint32 flags)
M_bool M_table_column_set_name(M_table_t *table, size_t idx, const char *colname)
size_t M_table_column_remove_empty_columns(M_table_t *table)
M_table_t * M_table_create(M_uint32 flags) M_MALLOC
M_bool M_table_column_insert(M_table_t *table, const char *colname)
M_table_flags_t
Definition: m_table.h:61
M_bool M_table_cell_clear_at(M_table_t *table, size_t row, size_t col)
size_t M_table_row_insert(M_table_t *table)
M_bool M_table_cell_set(M_table_t *table, size_t row, const char *colname, const char *val, M_uint32 flags)
void M_table_column_remove_at(M_table_t *table, size_t idx)
void M_table_column_remove(M_table_t *table, const char *colname)
M_table_markdown_flags_t
Definition: m_table.h:68
size_t M_table_row_remove_empty_rows(M_table_t *table)
M_bool M_table_cell_set_at(M_table_t *table, size_t row, size_t col, const char *val)
void M_table_column_sort_data(M_table_t *table, const char *colname, M_sort_compar_t primary_sort, const char *secondary_colname, M_sort_compar_t secondary_sort, void *thunk)
M_bool M_table_cell_set_dict(M_table_t *table, size_t row, const M_hash_dict_t *data, M_uint32 flags)
struct M_table M_table_t
Definition: m_table.h:48
char * M_table_write_csv(const M_table_t *table, char delim, char quote, M_bool write_header)
size_t M_table_column_count(const M_table_t *table)
void M_table_column_sort_data_at(M_table_t *table, size_t idx, M_sort_compar_t primary_sort, size_t secondary_idx, M_sort_compar_t secondary_sort, void *thunk)
const char * M_table_cell_at(const M_table_t *table, size_t row, size_t col)
M_bool M_table_column_idx(const M_table_t *table, const char *colname, size_t *idx)
M_json_node_t * M_table_create_json(const M_table_t *table)
M_bool M_table_row_insert_dict(M_table_t *table, const M_hash_dict_t *data, M_uint32 flags, size_t *idx)
M_table_insert_flags_t
Definition: m_table.h:53
M_bool M_table_load_markdown(M_table_t *table, const char *data, size_t len)
void M_table_column_order(M_table_t *table, M_sort_compar_t sort, void *thunk)
const char * M_table_cell(const M_table_t *table, size_t row, const char *colname)
M_bool M_table_column_insert_at(M_table_t *table, size_t idx, const char *colname)
M_bool M_table_row_insert_at(M_table_t *table, size_t idx)
size_t M_table_row_count(const M_table_t *table)
M_bool M_table_load_csv(M_table_t *table, const char *data, size_t len, char delim, char quote, M_uint32 flags, M_bool have_header)
@ M_TABLE_NONE
Definition: m_table.h:62
@ M_TABLE_COLNAME_CASECMP
Definition: m_table.h:63
@ M_TABLE_MARKDOWN_NONE
Definition: m_table.h:69
@ M_TABLE_MARKDOWN_OUTERPIPE
Definition: m_table.h:71
@ M_TABLE_MARKDOWN_LINEEND_WIN
Definition: m_table.h:73
@ M_TABLE_MARKDOWN_LINEEND_UNX
Definition: m_table.h:72
@ M_TABLE_MARKDOWN_PRETTYPRINT
Definition: m_table.h:70
@ M_TABLE_INSERT_NONE
Definition: m_table.h:54
@ M_TABLE_INSERT_COLADD
Definition: m_table.h:55
@ M_TABLE_INSERT_COLIGNORE
Definition: m_table.h:56