ardour
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
libs
pbd
whitespace.cc
Go to the documentation of this file.
1
/*
2
Copyright (C) 2000-2007 Paul Davis
3
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.
8
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.
13
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.
17
18
*/
19
20
#include "
pbd/whitespace.h
"
21
22
using namespace
std
;
23
24
namespace
PBD
{
25
26
void
27
strip_whitespace_edges
(
string
& str)
28
{
29
string::size_type i;
30
string::size_type len;
31
string::size_type s = 0;
32
33
len = str.length();
34
35
if
(len == 1) {
36
return
;
37
}
38
39
/* strip front */
40
41
for
(i = 0; i < len; ++i) {
42
if
(!isspace (str[i])) {
43
break
;
44
}
45
}
46
47
if
(i == len) {
48
/* it's all whitespace, not much we can do */
49
str =
""
;
50
return
;
51
}
52
53
/* strip back */
54
55
if
(len > 1) {
56
57
s = i;
58
i = len - 1;
59
60
if
(s == i) {
61
return
;
62
}
63
64
do
{
65
if
(!isspace (str[i]) || i == 0) {
66
break
;
67
}
68
69
--i;
70
71
}
while
(
true
);
72
73
str = str.substr (s, (i - s) + 1);
74
75
}
else
{
76
str = str.substr (s);
77
}
78
}
79
80
}
// namespace PBD
whitespace.h
std
Definition:
Beats.hpp:239
PBD
Definition:
debug.h:30
PBD::strip_whitespace_edges
void strip_whitespace_edges(string &str)
Definition:
whitespace.cc:27
Generated on Sun May 24 2015 12:15:08 for ardour by
1.8.8