Move panner bypass state up to the PannerShell so that it is preserved even when...
[ardour2.git] / libs / pbd / strreplace.cc
blob5d36608b3bdda4272f420f947717b00d9f614658
1 /*
2 Copyright (C) 2000-2007 Paul Davis
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 #include "pbd/replace_all.h"
22 int
23 replace_all (std::string& str,
24 std::string const& target,
25 std::string const& replacement)
27 std::string::size_type start = str.find (target, 0);
28 int cnt = 0;
30 while (start != std::string::npos) {
31 str.replace (start, target.size(), replacement);
32 start = str.find (target, start+replacement.size());
33 ++cnt;
36 return cnt;