4 #ifndef BTLLIB_UTIL_HPP
5 #define BTLLIB_UTIL_HPP
7 #include "btllib/cstring.hpp"
9 #include <condition_variable>
25 std::vector<std::string>
26 split(
const std::string& s,
const std::string& delim);
37 join(
const std::vector<std::string>& s,
const std::string& delim);
46 ltrim(std::string& s);
48 ltrim(btllib::CString& s);
57 rtrim(std::string& s);
59 rtrim(btllib::CString& s);
70 trim(btllib::CString& s);
90 endswith(std::string s, std::string suffix);
126 calc_phred_avg(
const std::string& qual,
size_t start_pos = 0,
size_t len = 0);
134 Barrier(
const unsigned count)
135 : counter_default(count)
143 std::condition_variable cv;
144 unsigned counter{ 0 };
145 unsigned counter_default;
146 unsigned waiting{ 0 };
std::vector< std::string > split(const std::string &s, const std::string &delim)
void rtrim(std::string &s)
std::string join(const std::vector< std::string > &s, const std::string &delim)
bool startswith(std::string s, std::string prefix)
bool endswith(std::string s, std::string suffix)
std::string get_dirname(const std::string &path)
double calc_phred_avg(const std::string &qual, size_t start_pos=0, size_t len=0)
std::string get_basename(const std::string &path)
void trim(std::string &s)
void ltrim(std::string &s)