Originally, when writing Junamatkailuintro [ref1], I was thinking there was necessarily no need to do everything the absolutely hardest way possible even if trying to write small intros. In the source folder of that project, there are files in the form verbatim_xyz.hpp
- these are a primitive attempt at bringing some of the conveniences of C++ programming without having to worry about C++ linkage.
This project is simply an evolution of those attempts, but in a separate repository as opposed to C-c
and C-v
of source. It aims to provide some programming convenience while only linking against libc, and tries to be as small as possible - at the expense of error checking of course.
There's some threading and graphics stuff, which is where the name comes from. They require GL and SDL respectively, but if you're interested about those, it's better to take a look at dnload [ref2].
The compiler must support C++17. This means:
- Clang 5 or later
- GCC 7 or later
- MSVC 19.14 (Visual Studio 2017 with updates should be fine).
Clone the repository under your source folder as a subrepository so it becomes a folder named vgl/
.
Then, as opposed to saying, for example:
#include <optional> using std::optional; using std::nullopt;
Instead say:
#include "vgl/vgl_optional.hpp" using vgl::optional; using vgl::nullopt;
Everything else works pretty much the same way. There's also test.cpp
that can be taken a look at.
TODO: write this instead of writing the code
- Finish importing stuff from older projects and modernize it.
- [DOCS] Write actual documentation.
[ref1] | http://faemiyah.fi/demoscene/junamatkailuintro |
[ref2] | http://faemiyah.fi/demoscene/dnload |