SYMBOL INDEX (179 symbols across 8 files) FILE: examples/01_from_readme.c function main (line 6) | int main() FILE: examples/02_binary_tree.c type Node (line 10) | typedef struct Node Node; type Node (line 12) | struct Node { function Node (line 18) | Node *generate_tree_of_fruits(size_t level_cur, size_t level_max) function render_node_as_json (line 35) | void render_node_as_json(Jim *jim, Node *node) function main (line 53) | int main() FILE: examples/03_parsing_database.c type Person (line 9) | typedef struct { type People (line 16) | typedef struct { function parse_person (line 22) | bool parse_person(Jimp *jimp, Person *p) function parse_people (line 46) | bool parse_people(Jimp *jimp, People *ps) function print_person (line 59) | void print_person(const Person *p) type Numbers (line 67) | typedef struct { function main (line 73) | int main(void) FILE: jim1.h type Jim_Error (line 21) | typedef enum { type Jim_Scope_Kind (line 32) | typedef enum { type Jim_Scope (line 37) | typedef struct { type Jim (line 43) | typedef struct { function jim_strlen (line 73) | static size_t jim_strlen(const char *s) function jim_scope_push (line 82) | static void jim_scope_push(Jim *jim, Jim_Scope_Kind kind) function jim_scope_pop (line 96) | static void jim_scope_pop(Jim *jim) function Jim_Scope (line 107) | static Jim_Scope *jim_current_scope(Jim *jim) function jim_write (line 118) | static void jim_write(Jim *jim, const char *buffer, size_t size) function jim_write_cstr (line 127) | static void jim_write_cstr(Jim *jim, const char *cstr) function jim_get_utf8_char_len (line 134) | static int jim_get_utf8_char_len(unsigned char ch) function jim_element_begin (line 147) | void jim_element_begin(Jim *jim) function jim_element_end (line 157) | void jim_element_end(Jim *jim) function jim_null (line 189) | void jim_null(Jim *jim) function jim_bool (line 198) | void jim_bool(Jim *jim, int boolean) function jim_integer_no_element (line 211) | static void jim_integer_no_element(Jim *jim, long long int x) function jim_integer (line 242) | void jim_integer(Jim *jim, long long int x) function is_nan_or_inf (line 251) | static int is_nan_or_inf(double x) function jim_float (line 257) | void jim_float(Jim *jim, double x, int precision) function jim_string_sized_no_element (line 283) | static void jim_string_sized_no_element(Jim *jim, const char *str, size_... function jim_string_sized (line 317) | void jim_string_sized(Jim *jim, const char *str, size_t size) function jim_string (line 326) | void jim_string(Jim *jim, const char *str) function jim_array_begin (line 333) | void jim_array_begin(Jim *jim) function jim_array_end (line 343) | void jim_array_end(Jim *jim) function jim_object_begin (line 352) | void jim_object_begin(Jim *jim) function jim_member_key (line 361) | void jim_member_key(Jim *jim, const char *str) function jim_member_key_sized (line 368) | void jim_member_key_sized(Jim *jim, const char *str, size_t size) function jim_object_end (line 387) | void jim_object_end(Jim *jim) FILE: jim2.h type Jim_Scope_Kind (line 20) | typedef enum { type Jim_Scope (line 25) | typedef struct { type Jim (line 31) | typedef struct { function jim_scope_push (line 65) | static void jim_scope_push(Jim *jim, Jim_Scope_Kind kind) function jim_scope_pop (line 79) | static void jim_scope_pop(Jim *jim) function Jim_Scope (line 85) | static Jim_Scope *jim_current_scope(Jim *jim) function jim_write (line 93) | static void jim_write(Jim *jim, const char *buffer, size_t size) function jim_write_cstr (line 105) | static void jim_write_cstr(Jim *jim, const char *cstr) function jim_get_utf8_char_len (line 110) | static int jim_get_utf8_char_len(unsigned char ch) function jim_begin (line 123) | void jim_begin(Jim *jim) function jim_element_begin (line 129) | void jim_element_begin(Jim *jim) function jim_element_end (line 149) | void jim_element_end(Jim *jim) function jim_null (line 158) | void jim_null(Jim *jim) function jim_bool (line 165) | void jim_bool(Jim *jim, int boolean) function jim_integer_no_element (line 176) | static void jim_integer_no_element(Jim *jim, long long int x) function jim_integer (line 204) | void jim_integer(Jim *jim, long long int x) function is_nan_or_inf (line 211) | static int is_nan_or_inf(double x) function jim_float (line 217) | void jim_float(Jim *jim, double x, int precision) function jim_string_sized_no_element (line 241) | static void jim_string_sized_no_element(Jim *jim, const char *str, size_... function jim_string_sized (line 273) | void jim_string_sized(Jim *jim, const char *str, size_t size) function jim_string (line 280) | void jim_string(Jim *jim, const char *str) function jim_array_begin (line 285) | void jim_array_begin(Jim *jim) function jim_array_end (line 293) | void jim_array_end(Jim *jim) function jim_object_begin (line 307) | void jim_object_begin(Jim *jim) function jim_member_key (line 314) | void jim_member_key(Jim *jim, const char *str) function jim_member_key_sized (line 319) | void jim_member_key_sized(Jim *jim, const char *str, size_t size) function jim_object_end (line 331) | void jim_object_end(Jim *jim) FILE: jimp.h type Jimp_Token (line 16) | typedef enum { type Jimp (line 38) | typedef struct { function jimp__append_to_string (line 116) | static void jimp__append_to_string(Jimp *jimp, char x) function jimp__skip_whitespaces (line 126) | static void jimp__skip_whitespaces(Jimp *jimp) function jimp__get_token (line 152) | static bool jimp__get_token(Jimp *jimp) function jimp_begin (line 256) | void jimp_begin(Jimp *jimp, const char *file_path, const char *input, si... function jimp_diagf (line 264) | void jimp_diagf(Jimp *jimp, const char *fmt, ...) function jimp_array_begin (line 305) | bool jimp_array_begin(Jimp *jimp) function jimp_array_end (line 310) | bool jimp_array_end(Jimp *jimp) function jimp_array_item (line 315) | bool jimp_array_item(Jimp *jimp) function jimp_unknown_member (line 328) | void jimp_unknown_member(Jimp *jimp) function jimp_object_begin (line 333) | bool jimp_object_begin(Jimp *jimp) function jimp_object_member (line 338) | bool jimp_object_member(Jimp *jimp) function jimp_object_end (line 356) | bool jimp_object_end(Jimp *jimp) function jimp_string (line 361) | bool jimp_string(Jimp *jimp) function jimp_bool (line 366) | bool jimp_bool(Jimp *jimp) function jimp_number (line 380) | bool jimp_number(Jimp *jimp) function jimp_is_null_ahead (line 385) | bool jimp_is_null_ahead(Jimp *jimp) function jimp_is_bool_ahead (line 393) | bool jimp_is_bool_ahead(Jimp *jimp) function jimp_is_number_ahead (line 401) | bool jimp_is_number_ahead(Jimp *jimp) function jimp_is_string_ahead (line 409) | bool jimp_is_string_ahead(Jimp *jimp) function jimp_is_array_ahead (line 417) | bool jimp_is_array_ahead(Jimp *jimp) function jimp_is_object_ahead (line 425) | bool jimp_is_object_ahead(Jimp *jimp) function jimp__get_and_expect_token (line 433) | static bool jimp__get_and_expect_token(Jimp *jimp, Jimp_Token token) function jimp__expect_token (line 439) | static bool jimp__expect_token(Jimp *jimp, Jimp_Token token) FILE: test_jim.c function null_case (line 13) | void null_case(Jim *jim) function bool_case (line 21) | void bool_case(Jim *jim) function integer_case (line 30) | void integer_case(Jim *jim) function float_case (line 40) | void float_case(Jim *jim) function string_case (line 55) | void string_case(Jim *jim) function array_case (line 66) | void array_case(Jim *jim) function object_case_rec (line 79) | void object_case_rec(Jim *jim, int level, int *counter) function object_case (line 93) | void object_case(Jim *jim) function pp_empty_array_case (line 100) | void pp_empty_array_case(Jim *jim) function pp_singleton_array_case (line 108) | void pp_singleton_array_case(Jim *jim) function pp_array_case (line 117) | void pp_array_case(Jim *jim) function pp_empty_object_case (line 129) | void pp_empty_object_case(Jim *jim) function pp_singleton_object_case (line 137) | void pp_singleton_object_case(Jim *jim) function pp_object_case (line 147) | void pp_object_case(Jim *jim) function pp_nested_case (line 161) | void pp_nested_case(Jim *jim) type Test_Case (line 195) | typedef struct { function record (line 223) | bool record(const char *header_path) function test (line 243) | void test(void) function main (line 269) | int main(int argc, char **argv) FILE: thirdparty/nob.h type Nob_Log_Level (line 235) | typedef enum { type Nob_File_Paths (line 256) | typedef struct { type Nob_File_Type (line 262) | typedef enum { type Nob_String_Builder (line 352) | typedef struct { type HANDLE (line 381) | typedef HANDLE Nob_Proc; type HANDLE (line 383) | typedef HANDLE Nob_Fd; type Nob_Proc (line 386) | typedef int Nob_Proc; type Nob_Fd (line 388) | typedef int Nob_Fd; type Nob_Procs (line 396) | typedef struct { type Nob_Cmd (line 412) | typedef struct { type Nob_Cmd_Redirect (line 431) | typedef struct { type Nob_String_View (line 595) | typedef struct { type dirent (line 670) | struct dirent type DIR (line 675) | typedef struct DIR DIR; type dirent (line 678) | struct dirent function nob__go_rebuild_urself (line 738) | void nob__go_rebuild_urself(int argc, char **argv, const char *source_pa... function nob_mkdir_if_not_exists (line 793) | bool nob_mkdir_if_not_exists(const char *path) function nob_copy_file (line 813) | bool nob_copy_file(const char *src_path, const char *dst_path) function nob_cmd_render (line 875) | void nob_cmd_render(Nob_Cmd cmd, Nob_String_Builder *render) function nob__win32_cmd_quote (line 893) | static void nob__win32_cmd_quote(Nob_Cmd cmd, Nob_String_Builder *quoted) function Nob_Proc (line 934) | Nob_Proc nob_cmd_run_async_redirect(Nob_Cmd cmd, Nob_Cmd_Redirect redirect) function Nob_Proc (line 1024) | Nob_Proc nob_cmd_run_async_and_reset(Nob_Cmd *cmd) function Nob_Proc (line 1031) | Nob_Proc nob_cmd_run_async_redirect_and_reset(Nob_Cmd *cmd, Nob_Cmd_Redi... function Nob_Fd (line 1050) | Nob_Fd nob_fd_open_for_read(const char *path) function Nob_Fd (line 1083) | Nob_Fd nob_fd_open_for_write(const char *path) function nob_fd_close (line 1118) | void nob_fd_close(Nob_Fd fd) function nob_procs_wait (line 1127) | bool nob_procs_wait(Nob_Procs procs) function nob_procs_wait_and_reset (line 1136) | bool nob_procs_wait_and_reset(Nob_Procs *procs) function nob_proc_wait (line 1143) | bool nob_proc_wait(Nob_Proc proc) function nob_procs_append_with_flush (line 1200) | bool nob_procs_append_with_flush(Nob_Procs *procs, Nob_Proc proc, size_t... function nob_cmd_run_sync_redirect (line 1211) | bool nob_cmd_run_sync_redirect(Nob_Cmd cmd, Nob_Cmd_Redirect redirect) function nob_cmd_run_sync (line 1218) | bool nob_cmd_run_sync(Nob_Cmd cmd) function nob_cmd_run_sync_and_reset (line 1225) | bool nob_cmd_run_sync_and_reset(Nob_Cmd *cmd) function nob_cmd_run_sync_redirect_and_reset (line 1232) | bool nob_cmd_run_sync_redirect_and_reset(Nob_Cmd *cmd, Nob_Cmd_Redirect ... function nob_log (line 1251) | void nob_log(Nob_Log_Level level, const char *fmt, ...) function nob_read_entire_dir (line 1277) | bool nob_read_entire_dir(const char *parent, Nob_File_Paths *children) function nob_write_entire_file (line 1313) | bool nob_write_entire_file(const char *path, const void *data, size_t size) function Nob_File_Type (line 1345) | Nob_File_Type nob_get_file_type(const char *path) function nob_delete_file (line 1371) | bool nob_delete_file(const char *path) function nob_copy_directory_recursively (line 1389) | bool nob_copy_directory_recursively(const char *src_path, const char *ds... function nob_temp_reset (line 1489) | void nob_temp_reset(void) function nob_temp_save (line 1494) | size_t nob_temp_save(void) function nob_temp_rewind (line 1499) | void nob_temp_rewind(size_t checkpoint) function nob_needs_rebuild (line 1513) | int nob_needs_rebuild(const char *output_path, const char **input_paths,... function nob_needs_rebuild1 (line 1581) | int nob_needs_rebuild1(const char *output_path, const char *input_path) function nob_rename (line 1599) | bool nob_rename(const char *old_path, const char *new_path) function nob_read_entire_file (line 1616) | bool nob_read_entire_file(const char *path, Nob_String_Builder *sb) function nob_sb_appendf (line 1651) | int nob_sb_appendf(Nob_String_Builder *sb, const char *fmt, ...) function Nob_String_View (line 1673) | Nob_String_View nob_sv_chop_by_delim(Nob_String_View *sv, char delim) function Nob_String_View (line 1693) | Nob_String_View nob_sv_chop_left(Nob_String_View *sv, size_t n) function Nob_String_View (line 1707) | Nob_String_View nob_sv_from_parts(const char *data, size_t count) function Nob_String_View (line 1715) | Nob_String_View nob_sv_trim_left(Nob_String_View sv) function Nob_String_View (line 1725) | Nob_String_View nob_sv_trim_right(Nob_String_View sv) function Nob_String_View (line 1735) | Nob_String_View nob_sv_trim(Nob_String_View sv) function Nob_String_View (line 1740) | Nob_String_View nob_sv_from_cstr(const char *cstr) function nob_sv_eq (line 1745) | bool nob_sv_eq(Nob_String_View a, Nob_String_View b) function nob_sv_end_with (line 1754) | bool nob_sv_end_with(Nob_String_View sv, const char *cstr) function nob_sv_starts_with (line 1766) | bool nob_sv_starts_with(Nob_String_View sv, Nob_String_View expected_pre... function nob_file_exists (line 1780) | int nob_file_exists(const char *file_path) function nob_set_current_dir (line 1824) | bool nob_set_current_dir(const char *path) type DIR (line 1843) | struct DIR function DIR (line 1850) | DIR *opendir(const char *dirpath) type dirent (line 1878) | struct dirent type dirent (line 1883) | struct dirent type dirent (line 1883) | struct dirent type dirent (line 1884) | struct dirent function closedir (line 1907) | int closedir(DIR *dirp)