File string_util.hpp¶
File List > astrea > utilities > utilities > string_util.hpp
Go to the documentation of this file
#pragma once
#include <algorithm>
#include <cstdlib>
#include <cstring>
#include <cxxabi.h>
#include <iostream>
#include <memory>
#include <optional>
#include <string>
#include <type_traits>
#include <vector>
namespace astrea {
namespace utilities {
std::string trim(const std::string& str, const std::string& whitespace = " \t");
std::string replace_all(std::string const& original, std::string const& before, std::string const& after);
template <typename T>
std::string get_type_name()
{
static int status;
static const std::string fullName = abi::__cxa_demangle(typeid(T).name(), NULL, NULL, &status);
static const std::string name = fullName.substr(fullName.find_last_of("::") + 1);
return name;
}
std::vector<std::string> split(std::string s, const std::string& delimiter);
} // namespace utilities
} // namespace astrea