Web++: A C++ Web Framework
I changed the license to MIT.
Should I change the license to BSL? What do you think?
This media is not supported in your browser
VIEW IN TELEGRAM
Here's a couple of days of me working on this project using Termux on Android. I've got 3 months of these now.
I've been recording them using asciinema and what you see above is merely a replay of them.
I've been recording them using asciinema and what you see above is merely a replay of them.
😁1
alloc_deleter in boost smart_ptr is not move assignable,
thus std::unique_ptr<T, alloc_deleter> is not,
thus variant<..., unique_ptr<..., alloc_deleter>> is not,
thus vector<variant>::emplace(iter, ...) can't move stuff around!
Should alloc_deleter be move-assignable?
The tweet
thus std::unique_ptr<T, alloc_deleter> is not,
thus variant<..., unique_ptr<..., alloc_deleter>> is not,
thus vector<variant>::emplace(iter, ...) can't move stuff around!
Should alloc_deleter be move-assignable?
The tweet
Web++: A C++ Web Framework
alloc_deleter in boost smart_ptr is not move assignable, thus std::unique_ptr<T, alloc_deleter> is not, thus variant<..., unique_ptr<..., alloc_deleter>> is not, thus vector<variant>::emplace(iter, ...) can't move stuff around! Should alloc_deleter be move…
The story went on to the point that I made a template new type called "dynamic" which is an allocator-aware type.
The problem that I got with it right now is that where I tend to use that type is where the 1th template parameter will be an incomplete type.
That led me to adding checks to see if a type is_complete. But now I don't think that's the right solution here.
I found a compiler bug along the way too.
The problem that I got with it right now is that where I tend to use that type is where the 1th template parameter will be an incomplete type.
That led me to adding checks to see if a type is_complete. But now I don't think that's the right solution here.
I found a compiler bug along the way too.
Implemented my own std::function alternative (which is allocator-aware) called istl::function and it's beating std::function's performance with the default std::allocator.
Read more about its performance here
Read more about its performance here
✔️ SQL Query Builder tests are passing
✔️ istl::function tests are passing
1. Next steps are to write more tests for SQL Query Builder and then solve them of course so we can have a more stable SQL Database support system inside this.
2. After that, I might start working on a new, dynamic router. The current router is static and it's good but you probably can't use it inside a source file and thus that would mean your whole application essentially will have to be a big header-only executable. So a dynamic router is necessary.
I probably will use the recently made
✔️ istl::function tests are passing
1. Next steps are to write more tests for SQL Query Builder and then solve them of course so we can have a more stable SQL Database support system inside this.
2. After that, I might start working on a new, dynamic router. The current router is static and it's good but you probably can't use it inside a source file and thus that would mean your whole application essentially will have to be a big header-only executable. So a dynamic router is necessary.
I probably will use the recently made
istl::function in there too.
Web++: A C++ Web Framework
Implemented my own std::function alternative (which is allocator-aware) called istl::function and it's beating std::function's performance with the default std::allocator. Read more about its performance here
Some of istl::function properties so far:
- allocator-aware
- Small stack size (alloc size + void*)
- no internal SOO, you can use stack_allocator instead
- beats std::function at benchmarks, and gets beaten by it at the same time
- allocator-aware
- Small stack size (alloc size + void*)
- no internal SOO, you can use stack_allocator instead
- beats std::function at benchmarks, and gets beaten by it at the same time