Web++: A C++ Web Framework
132 subscribers
440 photos
36 videos
20 files
177 links
Web++ Framework (A C++ web framework to ease the pain of web development)

Using modern C++20/23.
GitHub: https://github.com/the-moisrex/webpp

I've been working on this project since 2019...
Download Telegram
I changed the license to MIT.
Web++: A C++ Web Framework
I changed the license to MIT.
Should I change the license to BSL? What do you think?
A sign that tells me I should write more tests now, but I want more features instead 😅
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.
😁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
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.
Oh that beautiful red color of failure; it means I successfully passed the compile-time errors :)
My query builder so far 🙈😅
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
✔️ 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 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
Live stream started
Live stream finished (1 minute)
Live stream started
Live stream finished (1 minute)
Live stream started
Live stream finished (1 hour)
Channel photo removed