Windows and OS X not yet tested.
Moved toolchains .inc files to include/ folder.
Renamed folder lib/bin into _bin.
Moved bcrypt and twofish library into lib folder and into new cmake projects. Restored twofish library to the original version.
Fixed some format warnings.
This will allow setting per-project (build) settings and to build/link
Sphere using system-provided library source/headers/precompiled lib
(like the ones provided with -devel packages on Linux) instead of the
ones shipped with the projects.
This is also a necessary step to use git submodules.
- Added new "smart" pointer sl::smart_ptr_view, a customized version of the proposed std::observer_ptr. Use this to make clear that you aren't managing the lifetime of the pointer you are using, since it's owned by a unique_ptr or shared_ptr.
- Added new "smart" sl::raw_ptr_view. Same concept of sl::smart_ptr_view, but it wraps a raw/bare pointer (most often it will be used in conjunction with legacy code, which doesn't use smart pointers).
- Renamed CSSortedVector to sl::sorted_vector.