diff options
Diffstat (limited to 'src/mongo/util/stringutils.cpp')
-rw-r--r-- | src/mongo/util/stringutils.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/mongo/util/stringutils.cpp b/src/mongo/util/stringutils.cpp new file mode 100644 index 00000000000..229f57bb3cb --- /dev/null +++ b/src/mongo/util/stringutils.cpp @@ -0,0 +1,44 @@ +// stringutils.cpp + +/** +* Copyright (C) 2008 10gen Inc. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU Affero General Public License, version 3, +* as published by the Free Software Foundation. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU Affero General Public License for more details. +* +* You should have received a copy of the GNU Affero General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pch.h" + +namespace mongo { + + void splitStringDelim( const string& str , vector<string>* res , char delim ) { + if ( str.empty() ) + return; + + size_t beg = 0; + size_t pos = str.find( delim ); + while ( pos != string::npos ) { + res->push_back( str.substr( beg, pos - beg) ); + beg = ++pos; + pos = str.find( delim, beg ); + } + res->push_back( str.substr( beg ) ); + } + + void joinStringDelim( const vector<string>& strs , string* res , char delim ) { + for ( vector<string>::const_iterator it = strs.begin(); it != strs.end(); ++it ) { + if ( it !=strs.begin() ) res->push_back( delim ); + res->append( *it ); + } + } + +} // namespace mongo |