#pragma once#include <iostream>#include "storage/common/table.h"#include "storage/common/field_meta.h"classTupleCell{public:TupleCell()=default;TupleCell(FieldMeta*meta,char*data):TupleCell(meta->type(),data){}TupleCell(AttrTypeattr_type,char*data):attr_type_(attr_type),data_(data){}voidset_type(AttrTypetype){this->attr_type_=type;}voidset_data(char*data){this->data_=data;}voidset_data(constchar*data){this->set_data(const_cast<char*>(data));}voidto_string(std::ostream&os)const;intcompare(constTupleCell&other)const;private:AttrTypeattr_type_=UNDEFINED;char*data_=nullptr;// real data. no need to move to field_meta.offset};