Exemple #1
0
template <class T> void stringsToCSV(const T& tokens, string& s,
                                     char sep)
{
    s.erase();
    for (typename T::const_iterator it = tokens.begin();
            it != tokens.end(); it++) {
        bool needquotes = false;
        if (it->empty() ||
                it->find_first_of(string(1, sep) + "\"\n") != string::npos) {
            needquotes = true;
        }
        if (it != tokens.begin()) {
            s.append(1, sep);
        }
        if (needquotes) {
            s.append(1, '"');
        }
        for (unsigned int i = 0; i < it->length(); i++) {
            char car = it->at(i);
            if (car == '"') {
                s.append(2, '"');
            } else {
                s.append(1, car);
            }
        }
        if (needquotes) {
            s.append(1, '"');
        }
    }
}
Exemple #2
0
template <class T> void stringsToString(const T& tokens, string& s)
{
    for (typename T::const_iterator it = tokens.begin();
            it != tokens.end(); it++) {
        bool hasblanks = false;
        if (it->find_first_of(" \t\n") != string::npos) {
            hasblanks = true;
        }
        if (it != tokens.begin()) {
            s.append(1, ' ');
        }
        if (hasblanks) {
            s.append(1, '"');
        }
        for (unsigned int i = 0; i < it->length(); i++) {
            char car = it->at(i);
            if (car == '"') {
                s.append(1, '\\');
                s.append(1, car);
            } else {
                s.append(1, car);
            }
        }
        if (hasblanks) {
            s.append(1, '"');
        }
    }
}
Exemple #3
0
static String arrayToString(const T &arr) {
	std::vector<String> args;
	typename T::const_iterator i;
	for (i=arr.begin(); i!=arr.end(); ++i) {
		args.push_back(i->toString());
	}
	return join(args,';');
}
Exemple #4
0
inline unsigned int findMaxSize(const T &dataIn, const unsigned int PriorMax = 0)
{
   typename T::const_iterator it;
   unsigned int MaxSize = PriorMax;
   for (it = dataIn.begin(); it != dataIn.end(); it++) {
      updateMax(MaxSize, static_cast<unsigned int>(it->size()));
   }
   return MaxSize;
}
Exemple #5
0
void writeData(ostream &fout, const int width, const T &data,
               const int startTime, const int endTime, const int startN,
               const int endN)
{
   typename T::const_iterator it = data.begin();
   // increment to the start position
   for (int inc = 0; inc < startTime-1; inc++, it++) {}
   for (int i = startTime; i <= endTime; i++, it++) {
     // 0-based vs. 1-based causes - 1 below
      for (int j = startN - 1; j < endN - 1; j++) {
         fout << std::setw(width) << it->at(j);
      }
      fout << "\n";
   }
}
Exemple #6
0
QByteArray serializeMap(const T &map, bool &success)
{
    QByteArray str = "{ ";
    QList<QByteArray> pairs;
    for (typename T::const_iterator it = map.begin(), itend = map.end(); it != itend; ++it)
    {
        QByteArray serializedValue = serialize( it.value() );

        if( serializedValue.isNull() )
        {
            success = false;
            break;
        }

        pairs << sanitizeString( it.key() ).toUtf8() + " : " + serializedValue;
    }

    str += join(pairs, ", ");
    str += " }";
    return str;
}