gemmi/util.hpp file

Contents

Namespaces

namespace gemmi
namespace gemmi::impl

Functions

auto starts_with(const std::string& str, const std::string& prefix) -> bool
template<size_t N>
auto starts_with(const char* a, const char(&b)[N]) -> bool
auto ends_with(const std::string& str, const std::string& suffix) -> bool
auto iequal(const std::string& str, const std::string& low) -> bool
auto istarts_with(const std::string& str, const std::string& prefix) -> bool
auto iends_with(const std::string& str, const std::string& suffix) -> bool
auto giends_with(const std::string& str, const std::string& suffix) -> bool
auto to_lower(std::string str) -> std::string
auto to_upper(std::string str) -> std::string
auto alpha_up(char c) -> char
auto trim_str(const std::string& str) -> std::string
auto rtrim_str(const std::string& str) -> std::string
auto rtrim_cstr(const char* start, const char* end = nullptr) -> const char*
auto length(char) -> size_t
auto length(const std::string& s) -> size_t
template<typename S>
void split_str_into(const std::string& str, S sep, std::vector<std::string>& result)
template<typename S>
auto split_str(const std::string& str, S sep) -> std::vector<std::string>
void split_str_into_multi(const std::string& str, const char* seps, std::vector<std::string>& result)
auto split_str_multi(const std::string& str, const char* seps = " \t") -> std::vector<std::string>
template<typename T, typename S, typename F>
auto join_str(T begin, T end, const S& sep, const F& getter) -> std::string
template<typename T, typename S>
auto join_str(T begin, T end, const S& sep) -> std::string
template<typename T, typename S, typename F>
auto join_str(const T& iterable, const S& sep, const F& getter) -> std::string
template<typename T, typename S>
auto join_str(const T& iterable, const S& sep) -> std::string
template<typename T, typename S>
void string_append_sep(std::string& str, S sep, const T& item)
void replace_all(std::string& s, const std::string& old, const std::string& new_)
template<class T>
auto in_vector(const T& x, const std::vector<T>& v) -> bool
template<typename F, typename T>
auto in_vector_f(F f, const std::vector<T>& v) -> bool
template<class T>
auto vector_end_ptr(std::vector<T>& v) -> T*
template<class T>
auto vector_end_ptr(const std::vector<T>& v) -> const T*
template<class T>
void vector_move_extend(std::vector<T>& dst, std::vector<T>&& src)
template<class T, typename F>
void vector_remove_if(std::vector<T>& v, F&& condition)
auto ialpha4_id(const char* s) -> int constexpr
auto ialpha3_id(const char* s) -> int constexpr