make exported headers self contained
Running IWYU over lhcb/LHCb, I ran into problems that in a few cases it mattered in which order header files were included. For the MR here, Ichecked if exported headers can be compiled on their own.
for `find InstallArea -name \*.h` ; do $CXX $CXXFLAGS -o /dev/null -c $v ; done
(except GaudiKernel/implements.h GaudiKernel/extends.h GaudiKernel/extend_interfaces.h GaudiKernel/RefTable.h
)
It seems to me IWYU assumes the order of includes doesn't matter, so this is a prerequisite for using IWYU.
As a side effect one can in any file add #include <Gaudi.......>
and the file will still compile, w/o the need to include another header along. (only talking about the single #include
line. once using declared symbols from the header, it can still be necessary to add more includes, if the Gaudi header contains forward declarations).