Minsky: 3.17.0
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 130 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().

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