I have looked in The C++ Programming Language to try to find the answer to this. When I #include "my_dir/my_header.hpp"
in a header, where does it look for this file? Is it relative to the header, relative to the source file that included it, or something else?
Implementation defined. See what is the difference between #include <filename> and #include “filename”.