28 #ifndef CORE_METADATA_ROW_SQL_H 29 #define CORE_METADATA_ROW_SQL_H 40 std::array<MDObject*, MDL_LAST_LABEL> _objects;
41 std::array<MDLabel, MDL_LAST_LABEL> _order;
46 MDObject* iteratorValue(
size_t i)
override;
47 const MDObject* iteratorValue(
size_t i)
const override;
53 MDRowSql(
const std::vector<MDObject> &values);
57 size_t id()
const override {
return this->_id; }
60 bool empty()
const override;
61 int size()
const override;
62 void clear()
override;
65 std::vector<MDLabel>
labels()
const override;
85 return MDRow::getValue<T>(label,
d);
94 template <
typename T,
typename T1>
96 return MDRow::getValueOrDefault<T, T1>(label,
d, def);
friend std::ostream & operator<<(std::ostream &out, const MDRowSql &row)
const T & getValue(MDLabel label) const
int size() const override
T & getValueOrDefault(MDLabel label, const T &def)
size_t id() const override
std::vector< MDLabel > labels() const override
void setValue(const MDObject &object) override
const T & getValueOrDefault(MDLabel label, const T &def) const
void setValue(MDLabel label, const T &d, bool addLabel=true)
T & getValue(MDLabel label)
bool empty() const override
void addLabel(MDLabel label) override
bool containsLabel(MDLabel label) const override
void getValueOrDefault(MDLabel label, T &d, T1 def) const
MDRow & operator=(const MDRow &) override
bool getValue(MDLabel label, T &d) const
MDObject * getObject(MDLabel label) override