include/RelationalWriter.h
branchv_0
changeset 9 0a40752e401d
parent 8 03750aff8619
child 11 27bc67e7c80f
equal deleted inserted replaced
8:03750aff8619 9:0a40752e401d
       
     1 #pragma once
       
     2 
       
     3 #include <string>
       
     4 #include <iostream>
       
     5 #include <vector>
       
     6 
       
     7 #include "../include/typedefs.h"
       
     8 
       
     9 namespace relpipe {
       
    10 namespace writer {
       
    11 
       
    12 class RelationalWriter {
       
    13 public:
       
    14 
       
    15 	virtual ~RelationalWriter() = default;
       
    16 
       
    17 	virtual integer_t toTypeId(const string_t typeCode) = 0;
       
    18 
       
    19 	virtual string_t toTypeCode(const integer_t typeId) = 0;
       
    20 
       
    21 	virtual void startRelation(std::vector<std::pair<string_t, string_t>> attributes, boolean_t writeHeader) = 0;
       
    22 
       
    23 	virtual void writeRecord(std::vector<string_t> attributes) = 0;
       
    24 
       
    25 	static RelationalWriter* create(std::ostream &output);
       
    26 };
       
    27 
       
    28 }
       
    29 }