* Split FileStream declarations and definitions
* Split JobPool declarations and definitions
* Split StringBuilder declarations and definitions
* Split StringReader declarations and definitions
* Split ZoomLevel declarations and definitions
* Fix missing include in FileClassifier.cpp
* Remove pragma once from source files
* Fix missing include in StringBuilder.h
* Update Xcode project
* Fix compilation of tests
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
This is technically a gcc bug from the looks of it but since std::nullopt is slightly easier to read I've gone through the codebase and used that over empty braces. In addition noticed a mistake on the scripting viewport get widgetIndex function where it would return an incorrect widgetIndex.
This reduces the number of third party dependencies for Windows builds. WinHttp is quite a nice straight forward API so doesn't involve too much extra code.
std::optional is supported by Xcode 10. The non-polyfill variant was already used in our code, so this is not likely to break anything that wasn't broken before.
Clang-format sees the text behind `#pragma region` as code and formats it. Instead of stating the copyright and date there, it's now in the comment block right below it. The text "Copyright" is left in the `#pragma region` line, as clang-format sees it as a single identifier.
I took the opportunity to normalize the dates, and add the copyright notice to the source files where it was missing them (except for third-party and the generated resources.h file).