38 class STORMBYTE_DATABASE_PUBLIC
Row:
public Iterable<std::vector<NamedValue>> {
43 Row() noexcept = default;
59 ~
Row() noexcept override = default;
71 Row& operator=(
Row&& other) noexcept = default;
79 const
Value& operator[](const std::
string& columnName) const &;
87 Value& operator[](const std::
string& columnName) &;
95 Value operator[](const std::
string& columnName) &&;
97 using Iterable::operator[];
104 inline
void add(std::
string&& columnName,
Value&& value) {
105 m_data.emplace_back(std::move(columnName), std::move(value));
106 m_name_index.reset();
112 inline std::size_t
Count() const noexcept {
117 mutable std::optional<std::unordered_map<std::string, std::size_t>> m_name_index;
122 void BuildNameIndex()
const;