47template <
typename ApiT>
50 TIMEMORY_DEFAULT_OBJECT(
decode)
54 using pair_t = std::pair<std::string, std::string>;
55 for(
auto&& itr : { pair_t{
"_Z",
" " }, pair_t{
"_Z",
"]" }, pair_t{
" ",
" " } })
58 [](
const std::string& _s) { return demangle(_s); });
78 for(
auto& itr : _resolvers)
93 for(
auto& itr : _resolvers)
std::shared_ptr< hash_resolver_vec_t > & get_hash_resolvers()
std::shared_ptr< hash_alias_map_t > hash_alias_ptr_t
bool get_hash_identifier(const hash_map_ptr_t &_hash_map, const hash_alias_ptr_t &_hash_alias, hash_value_t _hash_id, std::string *&_ret)
std::shared_ptr< hash_map_t > hash_map_ptr_t
const hash_alias_ptr_t & _hash_alias
std::string demangle_hash_identifier(std::string, char bdelim='[', char edelim=']')
std::string str_transform(const std::string &input, const std::string &_begin, const std::string &_end, PredicateT &&predicate)
apply a string transformation to substring inbetween a common delimiter. e.g.
tim::mpl::apply< std::string > string
Declare the operations types.
This class post-processes strings for a given API.
auto operator()(const hash_map_ptr_t &_hash_map, const hash_alias_ptr_t &_hash_alias, hash_value_t _hash_id)
auto operator()(const char *inp)
auto operator()(const std::string &inp)
auto operator()(hash_value_t _hash_id)
static auto tokenized_demangle(std::string inp)