Skip to content
Snippets Groups Projects
Select Git revision
  • 772b545dbd4830a0556f38cbe59a23621ac54bc3
  • main default protected
  • AC-1525-flexibleResourceLimits
  • AC-1339-MigrateGPUunits
4 results

Changelog.md

Blame
  • tokenize.cpp 667 B
    #include "tokenize.h"
    
    std::vector<std::string> tokenize(const std::string& str, const char delim, const char ignBracketStart, const char ignBracketEnd, const char escapeChar)
    {
    	std::vector<std::string> tokens;
    
    	std::string token;
    	size_t bracketCounter = 0;
    	for(size_t i = 0; i < str.size(); ++i)
    	{
    		if(str[i] == delim && bracketCounter == 0 && (i == 0 || str[i-1] != escapeChar))
    		{
    			tokens.push_back(token);
    			token.clear();
    		}
    		else
    		{
    			token.push_back(str[i]);
    		}
    
    		if(ignBracketStart == str[i])
    			++bracketCounter;
    		else if(ignBracketEnd == str[i])
    			--bracketCounter;
    	}
    	if(bracketCounter == 0)
    		tokens.push_back(token);
    	return tokens;
    }