1#ifndef DATA_STRUCTURE_DATA_TYPES_H
2#define DATA_STRUCTURE_DATA_TYPES_H
24 using FieldValue = std::variant<int, double, std::string, std::monostate>;
49 explicit Row(std::vector<Field> f) :
fields(std::move(f)) {}
FieldType
Type of data in a field.
Definition DataTypes.h:14
@ Float
Definition DataTypes.h:16
@ String
Definition DataTypes.h:17
@ Integer
Definition DataTypes.h:15
@ Null
Definition DataTypes.h:18
std::variant< int, double, std::string, std::monostate > FieldValue
Variant type for field values.
Definition DataTypes.h:24
ColumnDefinition(std::string n, FieldType t, bool pk=false, bool nullable=true)
Definition DataTypes.h:62
bool isNullable
Definition DataTypes.h:60
FieldType type
Definition DataTypes.h:58
std::string name
Definition DataTypes.h:57
bool isPrimaryKey
Definition DataTypes.h:59
FieldType type
Definition DataTypes.h:32
FieldValue value
Definition DataTypes.h:33
Field()
Definition DataTypes.h:35
Field(std::string n, FieldType t, FieldValue v)
Definition DataTypes.h:36
std::string name
Definition DataTypes.h:31
std::vector< Field > fields
Definition DataTypes.h:46
Row(std::vector< Field > f)
Definition DataTypes.h:49