[C] Refactored write functions
This commit is contained in:
@@ -347,12 +347,9 @@ FT_EXTERN int ft_printf_ln_impl(FTABLE *table, const char *fmt, ...) FT_PRINTF_A
|
||||
|
||||
|
||||
|
||||
FT_EXTERN int ft_write(FTABLE *table, const char *cell_content);
|
||||
FT_EXTERN int ft_write_ln(FTABLE *table, const char *cell_content);
|
||||
|
||||
#define FT_NWRITE(table, ...)\
|
||||
#define ft_write(table, ...)\
|
||||
(0 ? CHECK_IF_ARGS_ARE_STRINGS(__VA_ARGS__) : ft_nwrite(table, PP_NARG(__VA_ARGS__), __VA_ARGS__))
|
||||
#define FT_NWRITE_LN(table, ...)\
|
||||
#define ft_write_ln(table, ...)\
|
||||
(0 ? CHECK_IF_ARGS_ARE_STRINGS(__VA_ARGS__) : ft_nwrite_ln(table, PP_NARG(__VA_ARGS__), __VA_ARGS__))
|
||||
FT_EXTERN int ft_nwrite(FTABLE *table, size_t n, const char *cell_content, ...);
|
||||
FT_EXTERN int ft_nwrite_ln(FTABLE *table, size_t n, const char *cell_content, ...);
|
||||
@@ -365,13 +362,9 @@ FT_EXTERN int ft_nwrite_ln(FTABLE *table, size_t n, const char *cell_content, ..
|
||||
FT_EXTERN int ft_row_write(FTABLE *table, size_t cols, const char *row_cells[]);
|
||||
FT_EXTERN int ft_row_write_ln(FTABLE *table, size_t cols, const char *row_cells[]);
|
||||
|
||||
#if !defined(__cplusplus) && !defined(FT_MICROSOFT_COMPILER)
|
||||
FT_EXTERN int ft_s_table_write(FTABLE *table, size_t rows, size_t cols, const char *table_cells[rows][cols]);
|
||||
FT_EXTERN int ft_s_table_write_ln(FTABLE *table, size_t rows, size_t cols, const char *table_cells[rows][cols]);
|
||||
FT_EXTERN int ft_table_write(FTABLE *table, size_t rows, size_t cols, const char *table_cells[]);
|
||||
FT_EXTERN int ft_table_write_ln(FTABLE *table, size_t rows, size_t cols, const char *table_cells[]);
|
||||
|
||||
FT_EXTERN int ft_table_write(FTABLE *table, size_t rows, size_t cols, const char * * table_cells[rows]);
|
||||
FT_EXTERN int ft_table_write_ln(FTABLE *table, size_t rows, size_t cols, const char * * table_cells[rows]);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -600,12 +593,10 @@ FT_EXTERN void ft_set_memory_funcs(void *(*f_malloc)(size_t size), void (*f_free
|
||||
|
||||
#ifdef FT_HAVE_WCHAR
|
||||
|
||||
FT_EXTERN int ft_wwrite(FTABLE *table, const wchar_t *cell_content);
|
||||
FT_EXTERN int ft_wwrite_ln(FTABLE *table, const wchar_t *cell_content);
|
||||
|
||||
#define FT_NWWRITE(table, ...)\
|
||||
#define ft_wwrite(table, ...)\
|
||||
(0 ? CHECK_IF_ARGS_ARE_WSTRINGS(__VA_ARGS__) : ft_nwwrite(table, PP_NARG(__VA_ARGS__), __VA_ARGS__))
|
||||
#define FT_NWWRITE_LN(table, ...)\
|
||||
#define ft_wwrite_ln(table, ...)\
|
||||
(0 ? CHECK_IF_ARGS_ARE_WSTRINGS(__VA_ARGS__) : ft_nwwrite_ln(table, PP_NARG(__VA_ARGS__), __VA_ARGS__))
|
||||
FT_EXTERN int ft_nwwrite(FTABLE *table, size_t n, const wchar_t *cell_content, ...);
|
||||
FT_EXTERN int ft_nwwrite_ln(FTABLE *table, size_t n, const wchar_t *cell_content, ...);
|
||||
@@ -613,6 +604,9 @@ FT_EXTERN int ft_nwwrite_ln(FTABLE *table, size_t n, const wchar_t *cell_content
|
||||
FT_EXTERN int ft_row_wwrite(FTABLE *table, size_t cols, const wchar_t *row_cells[]);
|
||||
FT_EXTERN int ft_row_wwrite_ln(FTABLE *table, size_t cols, const wchar_t *row_cells[]);
|
||||
|
||||
FT_EXTERN int ft_table_wwrite(FTABLE *table, size_t rows, size_t cols, const wchar_t *table_cells[]);
|
||||
FT_EXTERN int ft_table_wwrite_ln(FTABLE *table, size_t rows, size_t cols, const wchar_t *table_cells[]);
|
||||
|
||||
FT_EXTERN const wchar_t *ft_to_wstring(const FTABLE *table);
|
||||
#endif
|
||||
|
||||
|
@@ -9,31 +9,31 @@
|
||||
namespace fort
|
||||
{
|
||||
|
||||
class FTableManipulator {
|
||||
class TableManipulator {
|
||||
public:
|
||||
explicit FTableManipulator(int i)
|
||||
explicit TableManipulator(int i)
|
||||
:value(i)
|
||||
{
|
||||
}
|
||||
friend class FTable;
|
||||
friend class Table;
|
||||
private:
|
||||
int value;
|
||||
};
|
||||
|
||||
const FTableManipulator header(0);
|
||||
const FTableManipulator endl(1);
|
||||
const FTableManipulator separator(2);
|
||||
const TableManipulator header(0);
|
||||
const TableManipulator endl(1);
|
||||
const TableManipulator separator(2);
|
||||
|
||||
class FTable {
|
||||
class Table {
|
||||
public:
|
||||
FTable()
|
||||
Table()
|
||||
:table(ft_create_table())
|
||||
{
|
||||
if (table == NULL)
|
||||
throw std::runtime_error("Runtime error");
|
||||
}
|
||||
|
||||
~FTable()
|
||||
~Table()
|
||||
{
|
||||
ft_destroy_table(table);
|
||||
}
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
FTable &operator<<(const T &arg)
|
||||
Table &operator<<(const T &arg)
|
||||
{
|
||||
stream << arg;
|
||||
if (stream.tellp()) {
|
||||
@@ -62,7 +62,7 @@ public:
|
||||
return *this;
|
||||
}
|
||||
|
||||
FTable &operator<<(const FTableManipulator &arg)
|
||||
Table &operator<<(const TableManipulator &arg)
|
||||
{
|
||||
if (arg.value == header.value)
|
||||
ft_set_cell_option(table, FT_CUR_ROW, FT_ANY_ROW, FT_COPT_ROW_TYPE, FT_ROW_HEADER);
|
||||
|
Reference in New Issue
Block a user