diff --git a/a8/csvreader.cc b/a8/csvreader.cc deleted file mode 100644 index 61404bb..0000000 --- a/a8/csvreader.cc +++ /dev/null @@ -1,92 +0,0 @@ -#include - -#include -#include -#include - -namespace a8 -{ - - CsvReader::CsvReader() - { - } - - bool CsvReader::Load(const std::string& filename) - { - columns_.clear(); - values_.clear(); - currline_ = 0; - bool ret = stringlist_.LoadFromFile(filename.c_str()); - if(ret){ - if(NextLine()){ - for(unsigned int i = 0;i < values_.size(); i++){ - columns_.insert(std::pair(values_[i], i)); - } - } - } - return ret; - } - - bool CsvReader::NextLine() - { - if(currline_ >= stringlist_.Count()){ - return false; - } - values_.clear(); - std::string tmp_str = stringlist_.String(currline_); - const char *p = tmp_str.c_str(); - const char *pv = p; - // printf("%s\n", p); - while(*p && p){ - if(*p == ','){ - if(p > pv){ - values_.push_back(std::string(pv, p - pv)); - // printf("%s\n", std::string(pv, p - pv).c_str()); - }else{ - values_.push_back(""); - } - pv = p + 1; - } - p++; - } - if(p && *p == ','){ - values_.push_back(""); - }else if(p > pv){ - values_.push_back(std::string(pv, p - pv)); - } - if(columns_.size() - values_.size() == 1){ - values_.push_back(""); - } - if(columns_.size() > 0){ - assert(values_.size() >= columns_.size()); - } - currline_++; - return true; - } - - a8::XValue CsvReader::GetValue(const char* name) - { - std::map::iterator itr = columns_.find(name); - if(itr != columns_.end()){ - std::string decoestring = values_[itr->second]; - a8::ReplaceString(decoestring, "\\n", "\n"); - a8::ReplaceString(decoestring, ",", ","); - return a8::XValue(decoestring); - }else{ - assert(false); - return a8::XValue(""); - } - } - - a8::XValue CsvReader::GetValue(const std::string& name) - { - return GetValue(name.c_str()); - } - - bool CsvReader::KeyExists(const std::string& name) - { - auto itr = columns_.find(name); - return itr != columns_.end(); - } - -} diff --git a/a8/csvreader.h b/a8/csvreader.h deleted file mode 100644 index a7a2fc2..0000000 --- a/a8/csvreader.h +++ /dev/null @@ -1,23 +0,0 @@ -#pragma once - -namespace a8 -{ - class CsvReader - { - public: - CsvReader(); - - bool Load(const std::string& filename); - bool NextLine(); - a8::XValue GetValue(const char* name); - a8::XValue GetValue(const std::string& name); - bool KeyExists(const std::string& name); - - private: - std::map columns_; - std::vector values_; - - int currline_ = 0; - a8::StringList stringlist_; - }; -}