tlx
trim.hpp
Go to the documentation of this file.
1/*******************************************************************************
2 * tlx/string/trim.hpp
3 *
4 * Part of tlx - http://panthema.net/tlx
5 *
6 * Copyright (C) 2007-2017 Timo Bingmann <tb@panthema.net>
7 *
8 * All rights reserved. Published under the Boost Software License, Version 1.0
9 ******************************************************************************/
10
11#ifndef TLX_STRING_TRIM_HEADER
12#define TLX_STRING_TRIM_HEADER
13
14#include <string>
15
16namespace tlx {
17
18//! \addtogroup tlx_string
19//! \{
20//! \name Trim
21//! \{
22
23/******************************************************************************/
24
25/*!
26 * Trims the given string in-place on the left and right. Removes all
27 * characters in the given drop array, which defaults to " \r\n\t".
28 *
29 * \param str string to process
30 * \return reference to the modified string
31 */
32std::string& trim(std::string* str);
33
34/*!
35 * Trims the given string in-place on the left and right. Removes all
36 * characters in the given drop array, which defaults to " \r\n\t".
37 *
38 * \param str string to process
39 * \param drop remove these characters
40 * \return reference to the modified string
41 */
42std::string& trim(std::string* str, const char* drop);
43
44/*!
45 * Trims the given string in-place on the left and right. Removes all
46 * characters in the given drop array, which defaults to " \r\n\t".
47 *
48 * \param str string to process
49 * \param drop remove these characters
50 * \return reference to the modified string
51 */
52std::string& trim(std::string* str, const std::string& drop);
53
54/*!
55 * Trims the given string in-place on the left and right. Removes all
56 * characters in the given drop array, which defaults to " \r\n\t".
57 *
58 * \param str string to process
59 * \return reference to the modified string
60 */
61std::string trim(const std::string& str);
62
63/*!
64 * Trims the given string in-place on the left and right. Removes all
65 * characters in the given drop array, which defaults to " \r\n\t".
66 *
67 * \param str string to process
68 * \param drop remove these characters
69 * \return reference to the modified string
70 */
71std::string trim(const std::string& str, const char* drop);
72
73/*!
74 * Trims the given string in-place on the left and right. Removes all
75 * characters in the given drop array, which defaults to " \r\n\t".
76 *
77 * \param str string to process
78 * \param drop remove these characters
79 * \return reference to the modified string
80 */
81std::string trim(const std::string& str, const std::string& drop);
82
83/******************************************************************************/
84
85/*!
86 * Trims the given string in-place only on the right. Removes all characters in
87 * the given drop array, which defaults to " \r\n\t".
88 *
89 * \param str string to process
90 * \return reference to the modified string
91 */
92std::string& trim_right(std::string* str);
93
94/*!
95 * Trims the given string in-place only on the right. Removes all characters in
96 * the given drop array, which defaults to " \r\n\t".
97 *
98 * \param str string to process
99 * \param drop remove these characters
100 * \return reference to the modified string
101 */
102std::string& trim_right(std::string* str, const char* drop);
103
104/*!
105 * Trims the given string in-place only on the right. Removes all characters in
106 * the given drop array, which defaults to " \r\n\t".
107 *
108 * \param str string to process
109 * \param drop remove these characters
110 * \return reference to the modified string
111 */
112std::string& trim_right(std::string* str, const std::string& drop);
113
114/*!
115 * Trims the given string only on the right. Removes all characters in the
116 * given drop array, which defaults to " \r\n\t". Returns a copy of the string.
117 *
118 * \param str string to process
119 * \return new trimmed string
120 */
121std::string trim_right(const std::string& str);
122
123/*!
124 * Trims the given string only on the right. Removes all characters in the
125 * given drop array, which defaults to " \r\n\t". Returns a copy of the string.
126 *
127 * \param str string to process
128 * \param drop remove these characters
129 * \return new trimmed string
130 */
131std::string trim_right(const std::string& str, const char* drop);
132
133/*!
134 * Trims the given string only on the right. Removes all characters in the
135 * given drop array, which defaults to " \r\n\t". Returns a copy of the string.
136 *
137 * \param str string to process
138 * \param drop remove these characters
139 * \return new trimmed string
140 */
141std::string trim_right(const std::string& str, const std::string& drop);
142
143/******************************************************************************/
144
145/*!
146 * Trims the given string in-place only on the left. Removes all characters in
147 * the given drop array, which defaults to " \r\n\t".
148 *
149 * \param str string to process
150 * \return reference to the modified string
151 */
152std::string& trim_left(std::string* str);
153
154/*!
155 * Trims the given string in-place only on the left. Removes all characters in
156 * the given drop array, which defaults to " \r\n\t".
157 *
158 * \param str string to process
159 * \param drop remove these characters
160 * \return reference to the modified string
161 */
162std::string& trim_left(std::string* str, const char* drop);
163
164/*!
165 * Trims the given string in-place only on the left. Removes all characters in
166 * the given drop array, which defaults to " \r\n\t".
167 *
168 * \param str string to process
169 * \param drop remove these characters
170 * \return reference to the modified string
171 */
172std::string& trim_left(std::string* str, const std::string& drop);
173
174/*!
175 * Trims the given string only on the left. Removes all characters in the given
176 * drop array, which defaults to " \r\n\t". Returns a copy of the string.
177 *
178 * \param str string to process
179 * \return new trimmed string
180 */
181std::string trim_left(const std::string& str);
182
183/*!
184 * Trims the given string only on the left. Removes all characters in the given
185 * drop array, which defaults to " \r\n\t". Returns a copy of the string.
186 *
187 * \param str string to process
188 * \param drop remove these characters
189 * \return new trimmed string
190 */
191std::string trim_left(const std::string& str, const char* drop);
192
193/*!
194 * Trims the given string only on the left. Removes all characters in the given
195 * drop array, which defaults to " \r\n\t". Returns a copy of the string.
196 *
197 * \param str string to process
198 * \param drop remove these characters
199 * \return new trimmed string
200 */
201std::string trim_left(const std::string& str, const std::string& drop);
202
203//! \}
204//! \}
205
206} // namespace tlx
207
208#endif // !TLX_STRING_TRIM_HEADER
209
210/******************************************************************************/
std::string & trim_right(std::string *str)
Trims the given string in-place only on the right.
Definition: trim.cpp:94
std::string & trim(std::string *str)
Trims the given string in-place on the left and right.
Definition: trim.cpp:20
std::string & trim_left(std::string *str)
Trims the given string in-place only on the left.
Definition: trim.cpp:128