File: SplitStr.cpp

package info (click to toggle)
librepfunc 1.10.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 424 kB
  • sloc: cpp: 1,601; makefile: 270
file content (25 lines) | stat: -rw-r--r-- 893 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*******************************************************************************
 * librepfunc - a collection of common functions, classes and tools.
 * See the README file for copyright information and how to reach the author.
 ******************************************************************************/
#include <sstream>    // std::stringstream
#include <repfunc.h>

template<class T>
std::vector<std::basic_string<T>> SplitStrT(const std::basic_string<T> s, const T delim) {
  std::basic_stringstream<T> ss(s);
  std::vector<std::basic_string<T>> result;
  std::basic_string<T> t;
  while(std::getline(ss, t, delim))
     result.push_back(t);
  return result;
}


std::vector<std::string> SplitStr(const std::string s, const char delim) {
  return SplitStrT(s, delim);
}

std::vector<std::wstring> SplitStrW(const std::wstring s, const wchar_t delim) {
  return SplitStrT(s, delim);
}