/*
- std-string.cc -- implement external interface for Std_String
+ This file is part of LilyPond, the GNU music typesetter.
- source file of the GNU LilyPond music typesetter
+ Copyright (C) 2006--2015 Jan Nieuwenhuizen <janneke@gnu.org>
- (c) 2006--2007 Jan Nieuwenhuizen <janneke@gnu.org>
+ LilyPond is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ LilyPond 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
*/
#include "std-string.hh"
#include "string-convert.hh"
+#include "std-vector.hh"
string
-to_string (string s)
+to_string (const string &s)
{
return s;
}
string
to_string (long unsigned b)
{
- return String_convert::unsigned_string (b);
+ return String_convert::unsigned_long_string (b);
}
string
replace_all (string *str, string const &find, string const &replace)
{
ssize len = find.length ();
- for (ssize i = str->find (find); i != NPOS; i = str->find (find, i + len))
- *str = str->replace (i, len, replace);
+ ssize replen = replace.length ();
+ for (ssize i = str->find (find); i != NPOS; i = str->find (find, i + replen))
+ * str = str->replace (i, len, replace);
return *str;
}
}
char *
-string_copy (string s)
+string_copy (const string &s)
{
ssize len = s.length ();
char *dest = new char[len + 1];
copy (s.begin (), s.end (), dest);
dest[len] = 0;
-
- return dest;
-}
-int
-string_compare (string const &a, string const &b)
-{
- return a.compare (b);
+ return dest;
}
-#include "std-vector.hh"
-
vector<string>
string_split (string str, char c)
{
{
string s = str.substr (0, i);
a.push_back (s);
- i ++;
+ i++;
str = str.substr (i);
i = str.find (c);
}
}
string
-string_join (vector<string> const &strs, string infix)
+string_join (vector<string> const &strs, const string &infix)
{
string result;
- for (vsize i = 0; i < strs.size (); i ++)
+ for (vsize i = 0; i < strs.size (); i++)
{
if (i)
- result += infix;
+ result += infix;
result += strs[i];
}