farm-ng-core
tokenize.h
Go to the documentation of this file.
1 // Copyright 2022, farm-ng inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #pragma once
16 
17 #include <filesystem>
18 #include <sstream>
19 #include <string>
20 #include <vector>
21 
22 namespace farm_ng {
23 
24 /// Splits string into N tokens (substrings) based on a delimiter
25 inline std::vector<std::string> tokenize(
26  std::string const& str, char delimiter = ' ') {
27  std::vector<std::string> tokens;
28 
29  std::stringstream strstream(str);
30  std::string token;
31 
32  while (getline(strstream, token, delimiter)) {
33  tokens.push_back(token);
34  }
35 
36  return tokens;
37 }
38 
39 } // namespace farm_ng
farm_ng
Definition: backtrace.cpp:102
farm_ng::tokenize
std::vector< std::string > tokenize(std::string const &str, char delimiter=' ')
Splits string into N tokens (substrings) based on a delimiter.
Definition: tokenize.h:25
core.event_service.str
str
Definition: event_service.py:547