Do not copy the data read but pass-by-reference.
Correct some header includes to be conform with C++