That's actually an excellent advice! :D I love well written C libraries, like the sokol or stb libraries.
Yes, I am trying to make C++ more pleasant than t currently is :) I like Python and JS ecosystems a lot (but also Zig and well done C libraries) and I'm trying to learn a tiny bit by their success and bring it to C++,…
Stack can be easily created with Vector (I can add it, thanks for the hint). I am conceptually against using Deque. If you need to keep stable addresses for objects you can use ArenaMap…
There is a VectorSet that creates Set with an unsorted vector. I think it would be good (and easy) creating a SortedVectorSet for better performance. HashMap and proper Map<K,V> are already on the roadmap…
Well that would be slightly increasing the project scope
I could bring multiple examples, but just to make one CMake, what I think today is the most popular way of describing builds in c++, describes builds in an imperative language.…
Of course Sane C++ Libraries targets a much much smaller functionality subset than Qt (that is a good library in many ways) and of course it has orders of magnitude less complexity. You can use Sane C++ Libraries adding…
I don't like to market it as an alternative to C++ stdlib, also because it doesn't cover all the things done by the C++ stdlib (in particular regarding Containers and Algorithms, as noted in other threads on this…
> No, instead of using std::exception, serenity has ErrorOr template. C’mon, that’s basically the same thing. I think that handling errors with ErrorOr<T,E> or similar techniques (I use something similar too) is very…
Yes the library is trying to model an alternative C++ world where the standard library tries to be more like the standard libraries of other languages (Python, nodeJS for example) providing actual functionality out of…
The bloat free is more referring to executable size, build complexity, compile time and in general to hidden complexity. Every library having its own version of common data structure is unfortunately something that C++…
That's a fair observation. What containers, beside Vector<T> (and Map<K,V> made with Vector) + variants would you like to see the most?
Of course I would have been doing the same :) The documentation here states: https://pagghiu.github.io/SaneCppLibraries/library_reflectio... Note Reflection uses more complex C++ constructs compared to other libraries…
Yes, the Algorithms library is just a placeholder, as specified in the docs. https://pagghiu.github.io/SaneCppLibraries/library_algorithm... Hopefully it will get expanded with more useful algorithms, it has not been a…
The majority of the macros are SC_PLATFORM_XXXX to inject platform specific code here and there. There are macros in the Reflection library but you have the option not to use them. What macros are bothering you the most?
I honestly like well written C a lot :) And yes, complex stuff sometimes tries to handle "everyone's use case" but if you can limit yourself to 95% of use cases, your code suddenly become a lot simpler. The backward…
You can definitively use C++ in exception free way. I've been working on multiple Exception free codebases for work. One large open source project that is using Exception free C++ is SerenityOS for example…
Exactly! This is all in an effort to bring down compile times, avoiding including anything from the standard because you can never know if including <atomic> is bringing 10K lines of code in your header. I will probably…
For me personally SharedPtr is very rarely needed as it encourages building difficult to untangle ownership hierarchies. I did use a lot of Shared Ptr in the past when creating a node.js like library in C++ but breaking…
You can do a Vector<TaggedUnion<Union>>. https://pagghiu.github.io/SaneCppLibraries/library_foundatio... I have not been working (yet) on custom allocators, but that's on the roadmap:…
Author here! Feel free to ask me any question, here or on discord/X/Mastodon I just saw this posted here, wow :)
I have never used wt so I may be wrong in the following considerations after reading a few of their features and examples. By giving a quick read, I see that they also have asynchronous IO capability, and this makes it…
Author here, feel free to ask questions
That's actually an excellent advice! :D I love well written C libraries, like the sokol or stb libraries.
Yes, I am trying to make C++ more pleasant than t currently is :) I like Python and JS ecosystems a lot (but also Zig and well done C libraries) and I'm trying to learn a tiny bit by their success and bring it to C++,…
Stack can be easily created with Vector (I can add it, thanks for the hint). I am conceptually against using Deque. If you need to keep stable addresses for objects you can use ArenaMap…
There is a VectorSet that creates Set with an unsorted vector. I think it would be good (and easy) creating a SortedVectorSet for better performance. HashMap and proper Map<K,V> are already on the roadmap…
Well that would be slightly increasing the project scope
I could bring multiple examples, but just to make one CMake, what I think today is the most popular way of describing builds in c++, describes builds in an imperative language.…
Of course Sane C++ Libraries targets a much much smaller functionality subset than Qt (that is a good library in many ways) and of course it has orders of magnitude less complexity. You can use Sane C++ Libraries adding…
I don't like to market it as an alternative to C++ stdlib, also because it doesn't cover all the things done by the C++ stdlib (in particular regarding Containers and Algorithms, as noted in other threads on this…
> No, instead of using std::exception, serenity has ErrorOr template. C’mon, that’s basically the same thing. I think that handling errors with ErrorOr<T,E> or similar techniques (I use something similar too) is very…
Yes the library is trying to model an alternative C++ world where the standard library tries to be more like the standard libraries of other languages (Python, nodeJS for example) providing actual functionality out of…
The bloat free is more referring to executable size, build complexity, compile time and in general to hidden complexity. Every library having its own version of common data structure is unfortunately something that C++…
That's a fair observation. What containers, beside Vector<T> (and Map<K,V> made with Vector) + variants would you like to see the most?
Of course I would have been doing the same :) The documentation here states: https://pagghiu.github.io/SaneCppLibraries/library_reflectio... Note Reflection uses more complex C++ constructs compared to other libraries…
Yes, the Algorithms library is just a placeholder, as specified in the docs. https://pagghiu.github.io/SaneCppLibraries/library_algorithm... Hopefully it will get expanded with more useful algorithms, it has not been a…
The majority of the macros are SC_PLATFORM_XXXX to inject platform specific code here and there. There are macros in the Reflection library but you have the option not to use them. What macros are bothering you the most?
I honestly like well written C a lot :) And yes, complex stuff sometimes tries to handle "everyone's use case" but if you can limit yourself to 95% of use cases, your code suddenly become a lot simpler. The backward…
You can definitively use C++ in exception free way. I've been working on multiple Exception free codebases for work. One large open source project that is using Exception free C++ is SerenityOS for example…
Exactly! This is all in an effort to bring down compile times, avoiding including anything from the standard because you can never know if including <atomic> is bringing 10K lines of code in your header. I will probably…
For me personally SharedPtr is very rarely needed as it encourages building difficult to untangle ownership hierarchies. I did use a lot of Shared Ptr in the past when creating a node.js like library in C++ but breaking…
You can do a Vector<TaggedUnion<Union>>. https://pagghiu.github.io/SaneCppLibraries/library_foundatio... I have not been working (yet) on custom allocators, but that's on the roadmap:…
Author here! Feel free to ask me any question, here or on discord/X/Mastodon I just saw this posted here, wow :)
I have never used wt so I may be wrong in the following considerations after reading a few of their features and examples. By giving a quick read, I see that they also have asynchronous IO capability, and this makes it…
Author here, feel free to ask questions