Oh, I thought you were saying we didn't know the paths. Ok, clearly the best is:
``` /A/B/C1/include/header.hpp ``` :smile:
In other words we can't know how the project is organised, thats a known limitation of Geany's version of "lightweight" IDE, so I doubt there is a simple heuristic that will improve some organisations without making others worse, let alone improve all cases.
project/windows_backend/header.hpp: ``` class Something { windows_something_handle h; public: Something(); do_something(); ~Something(); }; ```
project/linux_backend/header.hpp: ``` class Something { linux_something_file_descriptor h; public: Something(); do_something(); ~Something(); }; ```
What type do we use for `h` when writing `Something::do_something()`?
I guess an associated question would be what would happen if both the declarations of `Something` are in the same file with an `#ifdef` deciding between them?