* Preliminary MSYS2 + MinGW build scripts and instructions.
* CMakeLists.txt: MinGW tweaks, enforce C++03, suppress warnings for now.
* Fix some GCC warnings.
* Fix unused parameter warnings coming from Ifc*.h.
* Fix warning regarding unreachable code (++jt) on MSVC.
* Add IfcParse_EXPORT for IfcInvalidTokenException
* Fix potentially uninitialized pointer variables.
* Note about OpenCASCADE cyclic dependencies fix.
* GCC warning fix: don't generate 'current_enum' variable that is only set and not used for anything ever
* Work around -Wmaybe-uninitialized warnings about boost::optional constructs. Also prevent passing of negative values for --bounds.
* Remove unused variable.
* CMakeLists.txt: ENABLE_BUILD_OPTIMIZATIONS for GCC (simply enforce -03)
* Make possible to invoke run-cmake.bat, build-ifcopenshell.cmd (now bat), install-ifcopenshell.cmd (now bat) directly from File Explorer or command prompt without VS env vars set, if BuildDepsCache file exists, by utilizing CMake's --build functionality. Do not delete CMakeCache.txt always now in order to keep the build options consistent.
* win/readme.md tweaks + make the line width smaller
* Windows batch files: use the last modified BuildDepsCache. Show an error if GEN_SHORTHAND does not exist.
* Applied MSVC tabify to IfcParse.cpp/h.
* Now Argument base class has throwing implementation for each conversion operator (removed those from derived classes).
* Added NullArgument class for the case when null arguments appear after setting elements.
* Now operator tokens are handled just like any other token.
* Refactoring: Token is now a struct with good fields, not a nameless pair.
* Now end position of token is set at its construction.
* Now type of token is determined on construction, as* function simply check stored type.
* Now int-s, float-s and some etc are parsed when token is created.
* Implemented simple way to remove spaces in parsing.
* Tokens are now created without allocations.
* Call RemoveTokenSeparators once for every token.
* Added temporary std::string object in lexer (for optimization purposes).
* Reimplemented asString without allocations.
* Parsing keywords without allocations.
* Added checks for type to tokenFunc::as*** functions.
* CMake: moved setting link directories before all the projects.
* Added IfcParse_Export header for declaring export macro.
* Added IFCPARSE_STATIC_DEFINE macro to all projects.
* Added include for export macro to swig file.
* Added IfcParse_EXPORT macro for all classes in headers generated by express parser.
* Allow removing boost.regex dependency by defining macro IFCPARSE_NO_REGEX.
* Fixed bug in deletion of ICU converter.
* Added export macro to most of the classes across headers
* Fixed memory leak: delete nested IfcAbstractEntity in EntityArgument.
* Fixed memory leak in destructor of IfcWritableEntity (args values).