Web++: A C++ Web Framework
Seems like GCC 9.3.0 with -fconcepts is no good. There's a bug. I haven't tested the new version 10 that came out today which doesn't need the -fconcepts though. Clang 10.0.0 works fine though.
GCC 10.1.0 works just fine.
https://godbolt.org/z/7Z7cWh
https://godbolt.org/z/7Z7cWh
godbolt.org
Compiler Explorer - C++
using namespace std;
#if __has_include()
# include
#else
namespace std {
namespace detail {
template <class T, class U>
concept SameHelper = std::is_same_v<T, U>;
}
template <class T, class U>
concept same_as = detail::SameHelper<T…
#if __has_include()
# include
#else
namespace std {
namespace detail {
template <class T, class U>
concept SameHelper = std::is_same_v<T, U>;
}
template <class T, class U>
concept same_as = detail::SameHelper<T…
Just made the core library header-only.
Hopefully I won't regret it later.
If you don't like it, tell me in the @webpp_discuss so we can talk about it.
Hopefully I won't regret it later.
If you don't like it, tell me in the @webpp_discuss so we can talk about it.
Should I use .h or .hpp for header files (for now of course, I'll probably use something else when I migrate the project to C++20's modules)?
Anonymous Poll
64%
.h
36%
.hpp
0%
Others (please tell in the group)
Web++: A C++ Web Framework
Should I use .h or .hpp for header files (for now of course, I'll probably use something else when I migrate the project to C++20's modules)?
Know that after installation of the project, you can use .h, .hpp, and even without any extensions like this:
#include <webpp/routes/router>
Web++: A C++ Web Framework
Somehow for some reason Clion IDE says it needs :: before std. I do have "webpp" namespace and I do have custom polyfills in ::std namespace but no ::webpp::std. There must be something wrong with my code; I don't trust a code that doesn't compile!
You know what? I'm just gonna replace them all with ::std::
I'm so tired of thinking 😅
I'm so tired of thinking 😅
Forwarded from The Moisrex
So anyone has any suggestion about which library is better for SIMD?
I hear talks about this one finding its way into STL:
https://github.com/VcDevel/std-simd
I hear talks about this one finding its way into STL:
https://github.com/VcDevel/std-simd
GitHub
GitHub - VcDevel/std-simd: std::experimental::simd for GCC [ISO/IEC TS 19570:2018]
std::experimental::simd for GCC [ISO/IEC TS 19570:2018] - VcDevel/std-simd
You know I'm doing some magic template metaprogramming in the project when you seem me lurking around boost::mpl library.
Not even CLion is able to understand that thing 😅
This is how I report software bugs
Not even CLion is able to understand that thing 😅
This is how I report software bugs
Twitter
The Moisrex
I don't think @clion_ide can handle the complexity of the boost::mpl's massive template abstractions! CLion keeps asking for more memory. Closing boost::mpl files fixes the problem though.
I'm designing a global extension system which makes it possible to add some extensions where-ever you need some extensions. Those extensions may require some other extensions, which may have conflict with other extension requirements; so I'm using this meta-programming magic to solve that issue and only inherit from a unique list of extensions.
The Tweet
The Tweet
Twitter
The Moisrex
This is how you make a unique list of types in C++: static_assert( std::is_same_v< typename typelist<int, int, char, char>::unique, typelist<int, char> > );
Web++: A C++ Web Framework
Somehow these bugs are all over the project for no apparent reasons what so ever 😂
Fixed one of them. Can you spot? 😁
Web++: A C++ Web Framework
Why did I think this was a good idea? Seriously, WHY?
Is it that bad? Any new ideas on what should I do with this?
1. Replace with std::any (Too slow maybe!?)
2. Use extensions (Becomes complicated maybe?)
3. Use inheritance (Don't even think about it!)
4. Use void* + size + extensions (I don't know what I'm talking about 😂)
5. ...???
1. Replace with std::any (Too slow maybe!?)
2. Use extensions (Becomes complicated maybe?)
3. Use inheritance (Don't even think about it!)
4. Use void* + size + extensions (I don't know what I'm talking about 😂)
5. ...???
I'm gonna add extensions to everything; including:
- Protocols
- Interfaces
- Routers
- Requests
- Responses
- Contexts
- Headers
- Bodies
Each extension may require other extensions from the same level, or even lower levels which the type itself has access to at compile time.
This way for example you can add an extension to the router and see the result in the context or even the requests and response.
An example would be cookies which will be added to the headers level but with a little of boiler plates, you can use it as a router level extension.
This is a nice way but I wonder if a unified extension type would be a better solution.
- Protocols
- Interfaces
- Routers
- Requests
- Responses
- Contexts
- Headers
- Bodies
Each extension may require other extensions from the same level, or even lower levels which the type itself has access to at compile time.
This way for example you can add an extension to the router and see the result in the context or even the requests and response.
An example would be cookies which will be added to the headers level but with a little of boiler plates, you can use it as a router level extension.
This is a nice way but I wonder if a unified extension type would be a better solution.