35#if defined(__cplusplus)
40#if !defined(TIMEMORY_WINDOWS)
43 size_t slen = strlen(s);
44 char* result = malloc(slen + 1);
50 memcpy(result, s, slen + 1);
89 int num_components = 0;
90 int*
components = (
int*) malloc(max_size *
sizeof(
int));
95 for(
int i = 0; i < max_size; ++i)
97 int comp = va_arg(args,
int);
106 if(num_components > 0)
118 assert(ctimer == NULL);
126 assert(ctuple == NULL);
153#if defined(__cplusplus)
void cxx_timemory_init(int, char **, timemory_settings)
void * cxx_timemory_delete_auto_tuple(void *)
void * cxx_timemory_delete_auto_timer(void *)
int cxx_timemory_enabled(void)
void * cxx_timemory_create_auto_timer(const char *)
const char * cxx_timemory_label(int, int, const char *, const char *, const char *)
void * cxx_timemory_create_auto_tuple(const char *, int, const int *)
#define TIMEMORY_COMPONENTS_END
void timemory_init_library(int argc, char **argv)
Initializes timemory. Not strictly necessary but highly recommended.
void timemory_finalize_library(void)
Finalizes timemory. Output will be generated. Any attempt to store data within timemory storage is un...
const hash_alias_ptr_t hash_value_t std::string *& _ret
char argparse::argument_parser tim::settings * _settings
char * strdup(const char *s)
void * c_timemory_create_auto_tuple(const char *tag,...)
int c_timemory_enabled(void)
void c_timemory_finalize(void)
const char * c_timemory_basic_label(const char *_func, const char *_extra)
const char * c_timemory_blank_label(const char *_extra)
void c_timemory_delete_auto_timer(void *ctimer)
void c_timemory_init(int argc, char **argv, timemory_settings _settings)
const char * c_timemory_label(const char *_func, const char *_file, int _line, const char *_extra)
void c_timemory_delete_auto_tuple(void *ctuple)
void * c_timemory_create_auto_timer(const char *tag)