25 #if FOLLY_DETAIL_HAVE_DEMANGLE_H 33 #if FOLLY_DETAIL_HAVE_DEMANGLE_H 36 #ifdef FOLLY_DEMANGLE_MAX_SYMBOL_SIZE 42 size_t mangledLen = strlen(name);
51 char* demangled = abi::__cxa_demangle(name,
nullptr, &len, &status);
68 void demangleCallback(
const char* str,
size_t size,
void* p) {
69 DemangleBuf* buf =
static_cast<DemangleBuf*
>(p);
70 size_t n =
std::min(buf->remaining, size);
71 memcpy(buf->dest, str, n);
79 size_t demangle(
const char* name,
char* out,
size_t outSize) {
80 #ifdef FOLLY_DEMANGLE_MAX_SYMBOL_SIZE 81 size_t mangledLen = strlen(name);
84 size_t n =
std::min(mangledLen, outSize - 1);
94 dbuf.remaining = outSize ? outSize - 1 : 0;
115 size_t demangle(
const char* name,
char* out,
size_t outSize) {
122 size_t len = strlen(src);
125 memcpy(dest, src, n);
#define FOLLY_DEMANGLE_MAX_SYMBOL_SIZE
—— Concurrent Priority Queue Implementation ——
int cplus_demangle_v3_callback_wrapper(char const *const mangled, void(*const cbref)(char const *, std::size_t, void *), void *const opaque)
constexpr auto size(C const &c) -> decltype(c.size())
size_t strlcpy(char *dest, const char *const src, size_t size)
basic_fbstring< char > fbstring
fbstring demangle(const char *name)