Minsky
CSVDialog.cc File Reference
#include "cairoItems.h"
#include "CSVDialog.h"
#include "group.h"
#include "selection.h"
#include "lasso.h"
#include <pango.h>
#include "CSVDialog.rcd"
#include "minsky_epilogue.h"
#include "zStream.h"
#include "dimension.h"
#include <cstdlib>
#include <chrono>
#include <iostream>
#include <string>
#include <stdexcept>
#include <sstream>
#include <regex>
#include <boost/filesystem.hpp>
Include dependency graph for CSVDialog.cc:

Go to the source code of this file.

Classes

struct  anonymous_namespace{CSVDialog.cc}::CacheEntry
 
struct  anonymous_namespace{CSVDialog.cc}::Cache
 
struct  anonymous_namespace{CSVDialog.cc}::CroppedPango
 

Namespaces

 anonymous_namespace{CSVDialog.cc}
 

Functions

template<class Parser >
vector< vector< string > > parseLines (const Parser &parser, const vector< string > &lines, size_t maxColumn)
 
 CLASSDESC_ACCESS_EXPLICIT_INSTANTIATION (minsky::CSVDialog)
 

Function Documentation

◆ CLASSDESC_ACCESS_EXPLICIT_INSTANTIATION()

CLASSDESC_ACCESS_EXPLICIT_INSTANTIATION ( minsky::CSVDialog  )

◆ parseLines()

template<class Parser >
vector<vector<string> > parseLines ( const Parser parser,
const vector< string > &  lines,
size_t  maxColumn 
)

Definition at line 129 of file CSVDialog.cc.

References minsky::anonymous_namespace{userFunction.cc}::parser.

Referenced by minsky::CSVDialog::classifyColumns(), minsky::CSVDialog::correctedUniqueValues(), minsky::CSVDialog::parseLines(), minsky::CSVDialog::populateHeader(), minsky::CSVDialog::populateHeaders(), and minsky::CSVDialog::redraw().

130 {
131  vector<vector<string>> r;
132  for (const auto& line: lines)
133  {
134  r.emplace_back();
135  try
136  {
137  const boost::tokenizer<Parser> tok(line.begin(), line.end(), parser);
138  auto t=tok.begin();
139  for (size_t i=0; i<maxColumn && t!=tok.end(); ++i, ++t)
140  r.back().push_back(*t);
141  }
142  catch (...) // if not parseable, place entire line in first cell
143  {
144  r.back().push_back(line);
145  }
146  }
147  return r;
148 }
Here is the caller graph for this function: