hana
dyno
Our great sponsors
hana | dyno | |
---|---|---|
4 | 11 | |
1,635 | 947 | |
1.7% | - | |
5.1 | 0.0 | |
12 days ago | almost 3 years ago | |
C++ | C++ | |
Boost Software License 1.0 | Boost Software License 1.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hana
-
What are some C++ projects with high quality code that I can read through?
I like boost::hana. Wish I had more chances to use it at work.
-
Simple `struct` static reflection system I use that tracks names, attributes (in my own code I also keep `constexpr` hashes of names) -- example gets fully inlined into `main()`
And then there's also the longstanding issue with default member initializers -- https://github.com/boostorg/hana/issues/409 -- which was a deal-breaker.The PROP system avoids this issue precisely by having the macro be as local as possible: the default member initializer is outside the macro. It does this while still letting you attach additional PropAttribs metadata (I'm not sure what additional metadata attachment looks like in Hana? haven't really tried). Default values and additional attributes are by and large quite more important to me in my use cases for reflection (component types in game ECS) than range syntax (everything I've needed and can think of needing is covered by for-each loop).
-
cppa2z - Document modern C++ using unit tests
oh yes definitely, but I meant more the particular way I've done it so far - which has been to implement something similar to boost::hana::is_valid(), to make it take the least amount of boilerplate code per-use-case as possible: zero additional lines of code.
-
C Implementation Challenge Replacing Stdmove And
Boost.Hana developers measured a very noticeable 15% decrease in compile time switching from a function call (admittedly -- with an additional layer of wrapper) to a raw static_cast. foonathan himself saw a little over a 5% decrease in his actual code. miki151 saw about a 3% improvement from replacing move with MOV only, ignoring forward. In a completely synthetic benchmark where I just generate a ton of move calls in a row, I get a little over 40% decrease in compile time.
dyno
- DynaMix 2.0.0 Released
-
rust-like traits on plain C++ with short macro (type erasure actually)
Or dyno or Poly or Not-Actually-Boost.TE or ...
- C++ Polymorphism Without Inheritance Using Glaze
-
Potential C++ extension for type erasure as a language feature
Sean's tweet looks like something else from what I'm asking (not sure what to call it), as it evidently still uses inheritance (see int: IFace) and it needs an association between the two, but what I'm asking for is just pure uncoupled adaptation, no extra odd keywords like dyn and impl, no inheritance. Go interfaces and that dyno library look the most like it.
- Dyno: Runtime Polymorphism Done Right
-
C++20 library for modern dynamic polymorphism (virutal functions / std::any / std::proxy / and some std::variant current use cases replacement). AMA about it
Reminds me of Louis Dionne's Dyno
-
What is your C++?
If I need runtime polymorphism, I prefer to use something like Louis Dionne's Dyno (https://github.com/ldionne/dyno) when I can to maintain value semantics.
-
CppDyn: A simpler runtime polymorphism in C++
How does it compare to Louis Dionne's dyno? https://github.com/ldionne/dyno
- Experience C++ developers: do you enjoy using C++ (even for personal/hobby projects?)
-
vector of objects
Sounds similar to dyno.
What are some alternatives?
mio - Cross-platform C++11 header-only library for memory mapped file IO
te - C++17 Run-time polymorphism (type erasure) library
sml - C++14 State Machine library
modern-cpp-tutorial - 📚 Modern C++ Tutorial: C++11/14/17/20 On the Fly | https://changkun.de/modern-cpp/
filesystem - An implementation of C++17 std::filesystem for C++11 /C++14/C++17/C++20 on Windows, macOS, Linux and FreeBSD.
C++ Middleware Writer - The repo contains library code to support messaging and serialization. There are also two programs in the repo that are needed to use the CMW.
doctest - The fastest feature-rich C++11/14/17/20/23 single-header testing framework
CppDyn - CppDyn is a library which aims to simplify use of polymorphism in C++20
robin-hood-hashing - Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20
EA Standard Template Library - EASTL stands for Electronic Arts Standard Template Library. It is an extensive and robust implementation that has an emphasis on high performance.
cppa2z - Document modern C++ using unit tests
AnyAny - C++17 library for comfortable and efficient dynamic polymorphism