#include "output_options.h" OutputOptions::OutputOptions() {} void OutputOptions::add_or_update_column(Column &column) { if (column_exist(column.type)) { update_column(column, find_column(column.type)); } else { this->order.push_back(column); } } void OutputOptions::update_column(Column &column, unsigned short index) { this->order[index] = column; } void OutputOptions::remove_column(unsigned short index) { this->order.erase(this->order.begin() + index); } void OutputOptions::remove_column(ColumnType t) { this->order.erase(this->order.begin() + find_column(t)); } unsigned short OutputOptions::find_column(ColumnType t) { for (unsigned short i = 0; i < this->order.size(); i++) { if (this->order[i].type == t) return i; } return -1; } bool OutputOptions::column_exist(ColumnType t) { for (unsigned short i = 0; i < this->order.size(); i++) { if (this->order[i].type == t) return true; } return false; } Column &OutputOptions::get_column(ColumnType t) { return this->order[find_column(t)]; } std::vector &OutputOptions::get_columns() { return this->order; } void OutputOptions::set_print_header(bool value) { this->print_header = value; } bool OutputOptions::get_print_header() { return this->print_header; } void OutputOptions::set_print_total(bool value) { this->print_total = value; } bool OutputOptions::get_print_total() { return this->print_total; } OutputFormat OutputOptions::get_output_format() { return this->format; } void OutputOptions::set_output_format(OutputFormat format) { this->format = format; } void OutputOptions::set_path(std::string path) { this->path = path; } std::string &OutputOptions::get_path() { return this->path; }