stamdStatic Markdown Page Generator |
git clone git://git.dimitrijedobrota.com/stamd.git |
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING |
utility.hpp (795B)
0 #pragma once
2 #include <algorithm>
3 #include <string>
5 inline std::string& ltrim(std::string& str)
6 {
7 str.erase(
8 str.begin(),
9 std::find_if(
10 str.begin(),
11 str.end(),
12 [](unsigned char chr)
13 {
14 return std::isspace(chr) == 0;
15 }
16 )
17 );
18 return str;
19 }
21 inline std::string& rtrim(std::string& str)
22 {
23 str.erase(
24 std::find_if(
25 str.rbegin(),
26 str.rend(),
27 [](unsigned char chr)
28 {
29 return std::isspace(chr) == 0;
30 }
31 ).base(),
32 str.end()
33 );
34 return str;
35 }
37 inline std::string& trim(std::string& str)
38 {
39 return rtrim(ltrim(str));
40 }
42 inline std::string& normalize(std::string& str)
43 {
44 std::replace(str.begin(), str.end(), ' ', '_');
45 return str;
46 }