35 if (m_info_list.empty()) {
39 for (
const auto& info : m_info_list) {
40 const auto& name = info.name;
41 if (!set.insert(name).second) {
48 if (this->m_info_list.size() != other.
m_info_list.size()) {
55 return !(*
this == other);
59 return m_info_list.size();
63 if (index >=
size()) {
66 return m_info_list[index];
71 auto begin = m_info_list.begin();
72 auto end = m_info_list.end();
75 size_t index {
static_cast<size_t>(
std::distance(begin, iter))};
bool operator==(const ColumnInfo &other) const
Returns true if this ColumnInfo represents the same columns with the given one.
std::vector< info_type > m_info_list
std::size_t size() const
Returns the number of columns represented by this ColumnInfo.
const ColumnDescription & getDescription(std::size_t index) const
Returns the description of the column with the given index or throws an exception if the index is big...
bool operator!=(const ColumnInfo &other) const
Returns false if this ColumnInfo represents the same columns with the given one.
Provides information about the columns of a Table.
ColumnInfo(std::vector< info_type > info_list)
Constructs a ColumnInfo representing the given column names and types.
std::unique_ptr< std::size_t > find(const std::string &name) const
Returns the index of a column, given the name of it, or nullptr if there is no column with this name...
Contains the description of a specific column of a Table.