Column Store
Column.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
5 #include "assert.h"
6 
11 namespace ColumnStore {
16 enum class DataType { INT, FLOAT, STRING };
17 
22 struct Column {
24  std::string name;
25 
28 
34  int index;
35 
36  Column(std::string name, DataType type, int index = -1)
37  : name(name), type(type), index(index) {}
38 
39  operator DataType() const { return type; }
40 
41  Column() {}
42 };
43 
44 // class ColumnNotFoundException : public exception {
45 // std::string msg;
46 // public:
47 // ColumnNotFoundException(std::string &r_name, std::string &c_name) :
48 // msg("Column " + c_name + " not found in " + r_name) {} virtual const
49 // char* what() const throw() {
50 // return msg.c_str();
51 // }
52 // };
53 
54 }; // namespace ColumnStore
ColumnStore::DataType
DataType
Different datatypes supported by this project.
Definition: Column.h:16
ColumnStore
Definition: ColStoreDataGenerator.h:22
ColumnStore::Column::Column
Column()
Definition: Column.h:41
ColumnStore::Column::index
int index
Index of the column in the data record.
Definition: Column.h:34
ColumnStore::DataType::STRING
@ STRING
ColumnStore::Column
Struct which maintains metadata of a single column.
Definition: Column.h:22
ColumnStore::Column::name
std::string name
name of the column
Definition: Column.h:24
ColumnStore::Column::type
DataType type
data type of the column
Definition: Column.h:27
ColumnStore::Column::Column
Column(std::string name, DataType type, int index=-1)
Definition: Column.h:36
ColumnStore::DataType::INT
@ INT
ColumnStore::DataType::FLOAT
@ FLOAT