changed to using getTemplates() instead of passing template param to FileReader

This commit is contained in:
john30
2015-11-22 09:31:15 +01:00
parent bf172b3688
commit 72396ff2f8
2 changed files with 10 additions and 9 deletions
+4 -5
View File
@@ -18,7 +18,6 @@
#include "data.h"
#include <iostream>
#include <algorithm>
#include <sstream>
#include <iomanip>
#include <vector>
@@ -256,7 +255,7 @@ result_t DataField::create(vector<string>::iterator& it,
else {
istringstream stream(divisorStr);
while (getline(stream, token, VALUE_SEPARATOR) != 0) {
DataFieldTemplates::trim(token);
FileReader::trim(token);
const char* str = token.c_str();
char* strEnd = NULL;
unsigned long int id;
@@ -300,7 +299,7 @@ result_t DataField::create(vector<string>::iterator& it,
bool firstType = true;
istringstream stream(typeStr);
while (result == RESULT_OK && getline(stream, token, VALUE_SEPARATOR) != 0) {
DataFieldTemplates::trim(token);
FileReader::trim(token);
DataField* templ = templates->get(token);
unsigned char length;
if (templ == NULL) {
@@ -1517,7 +1516,7 @@ result_t DataFieldSet::write(istringstream& input,
DataFieldTemplates::DataFieldTemplates(DataFieldTemplates& other)
: FileReader<void*>::FileReader(false)
: FileReader::FileReader(false)
{
for (map<string, DataField*>::iterator it = other.m_fieldsByName.begin(); it != other.m_fieldsByName.end(); it++) {
m_fieldsByName[it->first] = it->second->clone();
@@ -1554,7 +1553,7 @@ result_t DataFieldTemplates::add(DataField* field, string name, bool replace)
}
result_t DataFieldTemplates::addFromFile(vector<string>::iterator& begin, const vector<string>::iterator end,
void* arg, vector< vector<string> >* defaults,
vector< vector<string> >* defaults,
const string& filename, unsigned int lineNo)
{
vector<string>::iterator restart = begin;
+6 -4
View File
@@ -53,7 +53,9 @@
* @a istringstream to a @a SymbolString (see @a DataField#write()).
*
* The @a DataFieldTemplates allow definition of derived types as well as
* combined types based on the list of available base types.
* combined types based on the list of available base types. It reads the
* instances from configuration files by inheriting the @a FileReader template
* class.
*/
using namespace std;
@@ -811,14 +813,14 @@ private:
/**
* A map of template @a DataField instances.
*/
class DataFieldTemplates : public FileReader<void*>
class DataFieldTemplates : public FileReader
{
public:
/**
* Constructs a new instance.
*/
DataFieldTemplates() : FileReader<void*>::FileReader(false) {}
DataFieldTemplates() : FileReader::FileReader(false) {}
/**
* Constructs a new copied instance.
@@ -850,7 +852,7 @@ public:
// @copydoc
virtual result_t addFromFile(vector<string>::iterator& begin, const vector<string>::iterator end,
void* arg, vector< vector<string> >* defaults,
vector< vector<string> >* defaults,
const string& filename, unsigned int lineNo);
/**