8#ifndef SE_STR_UTILS_HPP
9#define SE_STR_UTILS_HPP
91std::vector<std::string>
120template<
typename EigenMatrixT>
122 const std::string&
M_name =
"",
136template<
typename EigenVectorT>
138 const std::string&
v_name =
"",
139 const std::vector<std::string>&
e_names = {},
154 const std::string&
v_name =
"",
168template<
typename EigenVector3T>
210template<
typename ValueT>
242#include "impl/str_utils_impl.hpp"
void remove_suffix(std::string &s, const std::string &suffix)
Remove a given suffix from a string.
std::vector< std::string > split_str(const std::string &s, const char delim, const bool ignore_consec=false)
Split a string into a vector of substrings based on a delimiter.
bool ends_with(const std::string &s, const std::string &suffix)
Verify if a string starts with a given prefix.
std::string header_to_pretty_str(const std::string &header_name, const int width=default_width)
Convert header name to a standardised string output.
std::string str_to_pretty_str(const std::string &string, const std::string &string_name="", const int width=default_width)
Convert a string name and value to a standardised string output.
std::string value_to_pretty_str(const ValueT &val, const std::string &val_name="", const std::string &val_unit="", const int width=default_width)
Convert a matrix name, value and unit to a standardised string output.
std::string eigen_matrix_to_pretty_str(const EigenMatrixT &M, const std::string &M_name="", const int width=default_width)
Convert a matrix name and Eigen::Matrix value to a standardised string output.
std::string volume_to_pretty_str(const EigenVector3T &vol, const std::string &vol_name="", const int width=default_width)
Convert a volume name and value to a standardised string output (values seperated by 'x').
std::string bool_to_pretty_str(const bool state, const std::string &state_name="", const int width=default_width)
Convert a bool name and value to a standardised string output.
void to_upper(std::string &s)
Convert a string to all upper case characters.
std::string expand_user(const std::string &path)
Return the result of expanding a leading ~ in path.
void to_lower(std::string &s)
Convert a string to all lower case characters.
std::string vector_to_pretty_str(const std::vector< T > &v, const std::string &v_name="", const int width=default_width)
Convert a matrix name and Eigen::Vector value to a standardised string output.
void remove_prefix(std::string &s, const std::string &prefix)
Remove a given prefix from a string.
static constexpr int default_width
Definition str_utils.hpp:108
std::string resolve_relative_path(const std::string &relative_path, const std::string &base_dir)
Return the path resulting by resolving relative_path relative to the directory base_dir.
bool is_float(const std::string &s, const bool accept_negative=true)
Verify if a string is a float.
bool is_int(const std::string &s, const bool accept_negative=true)
Verify if a string is a integer.
std::string eigen_vector_to_pretty_str(const EigenVectorT &v, const std::string &v_name="", const std::vector< std::string > &e_names={}, const int width=default_width)
Convert a matrix name and Eigen::Vector value to a standardised string output.
bool begins_with(const std::string &s, const std::string &prefix)
Verify if a string starts with a given prefix.
Helper wrapper to allocate and de-allocate octants in the octree.
Definition bounded_vector.hpp:14