Removed <...stream> includes from header files.
The include files <iostream>
, <fstream>
, <sstream>
etc. are quite heavy. This MR removes them from most header files such that they are not included transitively in many other files.
This might improve compilation times a bit, but I did not measure it.
Some code had to be moved to cpp
files and some templates are now explicitely instantiated.
The remaining <...stream>
includes in header files are:
$ ag '<[^</]*stream>' -G 'h$'
Applications/FileIO/CsvInterface.h
18:#include <fstream>
BaseLib/IO/Writer.h
18:#include <sstream>
BaseLib/ConfigTree-impl.h
11:#include <sstream>
BaseLib/StringTools.h
18:#include <sstream>
ProcessLib/CompareJacobiansJacobianAssembler.h
13:#include <fstream>
They cannot be removed with reasonable effort and/or their range of effect is rather limited.