2016-05-30 23:58:58 -04:00
|
|
|
#pragma once
|
2016-05-19 10:41:06 -04:00
|
|
|
|
2016-06-14 23:32:35 -04:00
|
|
|
#include <sstream>
|
2016-05-19 10:41:06 -04:00
|
|
|
|
2016-06-14 23:32:35 -04:00
|
|
|
#include "common.hpp"
|
2016-05-19 10:41:06 -04:00
|
|
|
|
2016-11-19 00:22:44 -05:00
|
|
|
POLYBAR_NS
|
2016-05-19 10:41:06 -04:00
|
|
|
|
2016-06-14 23:32:35 -04:00
|
|
|
namespace string_util {
|
2016-10-29 00:48:51 -04:00
|
|
|
/**
|
|
|
|
* Hash type
|
|
|
|
*/
|
|
|
|
using hash_type = unsigned long;
|
|
|
|
|
2016-11-02 15:22:45 -04:00
|
|
|
bool contains(const string& haystack, const string& needle);
|
|
|
|
string upper(const string& s);
|
|
|
|
string lower(const string& s);
|
|
|
|
bool compare(const string& s1, const string& s2);
|
2016-11-25 07:55:15 -05:00
|
|
|
string replace(
|
|
|
|
const string& haystack, const string& needle, const string& reply, size_t start = 0, size_t end = string::npos);
|
|
|
|
string replace_all(
|
|
|
|
const string& haystack, const string& needle, const string& reply, size_t start = 0, size_t end = string::npos);
|
2016-11-25 02:42:31 -05:00
|
|
|
string replace_all_bounded(const string& haystack, string needle, string replacement, size_t min, size_t max,
|
|
|
|
size_t start = 0, size_t end = string::npos);
|
2016-11-02 15:22:45 -04:00
|
|
|
string squeeze(const string& haystack, char needle);
|
|
|
|
string strip(const string& haystack, char needle);
|
|
|
|
string strip_trailing_newline(const string& haystack);
|
|
|
|
string ltrim(const string& haystack, char needle);
|
|
|
|
string rtrim(const string& haystack, char needle);
|
|
|
|
string trim(const string& haystack, char needle);
|
2016-11-26 19:32:21 -05:00
|
|
|
string join(const vector<string>& strs, const string& delim);
|
2016-11-25 07:55:15 -05:00
|
|
|
vector<string>& split_into(const string& s, char delim, vector<string>& container);
|
2016-11-02 15:22:45 -04:00
|
|
|
vector<string> split(const string& s, char delim);
|
2016-11-25 07:55:15 -05:00
|
|
|
size_t find_nth(const string& haystack, size_t pos, const string& needle, size_t nth);
|
|
|
|
string floatval(float value, int decimals = 2, bool fixed = false, const string& locale = "");
|
|
|
|
string filesize(unsigned long long bytes, int decimals = 2, bool fixed = false, const string& locale = "");
|
2016-11-02 15:22:45 -04:00
|
|
|
string from_stream(const std::basic_ostream<char>& os);
|
2016-11-25 07:55:15 -05:00
|
|
|
hash_type hash(const string& src);
|
2016-05-19 10:41:06 -04:00
|
|
|
}
|
2016-06-14 23:32:35 -04:00
|
|
|
|
2016-11-19 00:22:44 -05:00
|
|
|
POLYBAR_NS_END
|