use for-each and type aliases v_0
authorFrantišek Kučera <franta-hg@frantovo.cz>
Sat, 08 Sep 2018 23:27:49 +0200
branchv_0
changeset 21 abd3e7f26584
parent 20 befcfabc20fd
child 22 e81019af67dc
use for-each and type aliases
src/StreamRelationalReader.h
--- a/src/StreamRelationalReader.h	Sat Sep 08 19:43:20 2018 +0200
+++ b/src/StreamRelationalReader.h	Sat Sep 08 23:27:49 2018 +0200
@@ -22,6 +22,9 @@
 
 using namespace relpipe::protocol;
 
+using StringHandler = relpipe::reader::handlers::RelationalReaderStringHadler;
+using ValuesHandler = relpipe::reader::handlers::RelationalReaderValueHadler;
+
 class StreamRelationalReader : public RelationalReader {
 private:
 	std::istream &input;
@@ -30,8 +33,8 @@
 	types::StringDataTypeReader stringReader;
 	std::vector<DataTypeReaderBase*> readers = {&booleanReader, &integerReader, &stringReader};
 
-	std::vector<handlers::RelationalReaderStringHadler*> stringHandlers;
-	std::vector<handlers::RelationalReaderValueHadler*> valueHandlers;
+	std::vector<StringHandler*> stringHandlers;
+	std::vector<ValuesHandler*> valuesHandlers;
 
 	/**
 	 * count of columns in the current table
@@ -68,8 +71,8 @@
 	}
 
 	void endOfPipe() {
-		for (int i = 0; i < stringHandlers.size(); i++) stringHandlers[i]->endOfPipe();
-		for (int i = 0; i < valueHandlers.size(); i++) valueHandlers[i]->endOfPipe();
+		for (StringHandler* handler : stringHandlers) handler->endOfPipe();
+		for (ValuesHandler* handler : valuesHandlers) handler->endOfPipe();
 	}
 
 public:
@@ -83,12 +86,12 @@
 		throw RelpipeReaderException(L"Unsupported data type: " + static_cast<integer_t> (typeId));
 	}
 
-	void addHandler(handlers::RelationalReaderStringHadler* handler) override {
+	void addHandler(StringHandler* handler) override {
 		stringHandlers.push_back(handler);
 	}
 
-	void addHandler(handlers::RelationalReaderValueHadler* handler) override {
-		valueHandlers.push_back(handler);
+	void addHandler(ValuesHandler* handler) override {
+		valuesHandlers.push_back(handler);
 	}
 
 	void process() override {
@@ -158,8 +161,8 @@
 					columns[i] = {columnNames[i], columnTypes[i]};
 				}
 
-				for (int i = 0; i < stringHandlers.size(); i++) stringHandlers[i]->startRelation(tableName, columns);
-				for (int i = 0; i < valueHandlers.size(); i++) valueHandlers[i]->startRelation(tableName, columns);
+				for (StringHandler* handler : stringHandlers) handler->startRelation(tableName, columns);
+				for (ValuesHandler* handler : valuesHandlers) handler->startRelation(tableName, columns);
 
 			} else if (dataPart == DATA_PART_ROW) {
 				for (int i = 0; i < columnCount; i++) {
@@ -167,12 +170,12 @@
 
 					if (stringHandlers.empty()) {
 						read(input, [&](const void * rawValue, const std::type_info & typeInfo) {
-							for (int i = 0; i < valueHandlers.size(); i++) valueHandlers[i]->attribute(rawValue, typeInfo);
+							for (ValuesHandler* handler : valuesHandlers) handler->attribute(rawValue, typeInfo);
 						}, typeId);
 					} else {
 						read(input, [&](const string_t& stringValue, const void * rawValue, const std::type_info & typeInfo) {
-							for (int i = 0; i < stringHandlers.size(); i++) stringHandlers[i]->attribute(stringValue);
-							for (int i = 0; i < valueHandlers.size(); i++) valueHandlers[i]->attribute(rawValue, typeInfo);
+							for (StringHandler* handler : stringHandlers) handler->attribute(stringValue);
+							for (ValuesHandler* handler : valuesHandlers) handler->attribute(rawValue, typeInfo);
 						}, typeId);
 					}
 				}