Function, type, and macro definitions are all listed in the code index, which is asynchronously build on any code changes. See 4coder_code_index.h/cpp
for implementation. All definitions are stored per-file both as a signly-linked-list and an array.
I've tried to use 'jump_to_definition' but that doesn't seem to work very well (doesn't list all functions in a buffer, only some)
There are a few small bugs in the function parser, see: issue 118 on github.
To navigate straight to function definition you probably need to build a lister with jumps targets (thats what I did at least), because there can be a (?) maximum of two (/?) hits if in C (function declaration + function definition) and virtually unlimited hits in C++ because of overloads. This can be built by hacking the implemetation of jump_to_definition