[A] Add functions to check if table is empty to the API

This commit is contained in:
seleznevae
2019-12-13 23:30:30 +03:00
parent f17f150e43
commit 71188fd0fb
9 changed files with 115 additions and 14 deletions

View File

@@ -2699,13 +2699,13 @@ void ft_ln(ft_table_t *table)
table->cur_row++;
}
size_t ft_cur_row(ft_table_t *table)
size_t ft_cur_row(const ft_table_t *table)
{
assert(table);
return table->cur_row;
}
size_t ft_cur_col(ft_table_t *table)
size_t ft_cur_col(const ft_table_t *table)
{
assert(table);
return table->cur_col;
@@ -2718,6 +2718,15 @@ void ft_set_cur_cell(ft_table_t *table, size_t row, size_t col)
table->cur_col = col;
}
int ft_is_empty(const ft_table_t *table)
{
assert(table);
if (table->rows == NULL || (vector_size(table->rows) == 0))
return 1;
else
return 0;
}
static int ft_row_printf_impl_(ft_table_t *table, size_t row, const struct f_string_view *fmt, va_list *va)
{
size_t i = 0;

View File

@@ -286,7 +286,7 @@ void ft_ln(ft_table_t *table);
* @return
* Row number of the current cell.
*/
size_t ft_cur_row(ft_table_t *table);
size_t ft_cur_row(const ft_table_t *table);
/**
* Get column number of the current cell.
@@ -296,7 +296,7 @@ size_t ft_cur_row(ft_table_t *table);
* @return
* Column number of the current cell.
*/
size_t ft_cur_col(ft_table_t *table);
size_t ft_cur_col(const ft_table_t *table);
/**
* Set current cell position.
@@ -313,7 +313,16 @@ size_t ft_cur_col(ft_table_t *table);
*/
void ft_set_cur_cell(ft_table_t *table, size_t row, size_t col);
/**
* Check if table is empty.
*
* @param table
* Pointer to the table.
* @return
* 1 - table is empty
* 0 - some data has been inserted
*/
int ft_is_empty(const ft_table_t *table);
#if defined(FT_CLANG_COMPILER) || defined(FT_GCC_COMPILER)

View File

@@ -1012,7 +1012,7 @@ public:
* Column number of the current cell.
*/
size_t
cur_col()
cur_col() const noexcept
{
return ft_cur_col(table_);
}
@@ -1024,11 +1024,24 @@ public:
* Row number of the current cell.
*/
size_t
cur_row()
cur_row() const noexcept
{
return ft_cur_row(table_);
}
/**
* Check if table is empty.
*
* @return
* true - table is empty
* false - some data has been inserted
*/
bool
is_empty() const noexcept
{
return ft_is_empty(table_);
}
/**
* Get current cell.
*