variant
dyno
variant | dyno | |
---|---|---|
5 | 11 | |
645 | 947 | |
- | - | |
0.0 | 0.0 | |
over 1 year 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.
variant
-
Backward compatible implementations of newer standards constructs?
For Variant I would recommend Michael Park's variant - mpark::variant
-
Is there an exception that I could throw if there is a path that should never run.
have a look at https://github.com/mpark/variant
-
An std::variant alternative for C++11
I know that there is boost::variant but adding the whole boot dependency for this use case seem too much. I have seen the following implementation and similar ones
-
How to implicitly convert between pointers and integral types
You could build your own versions if thats a concern. Or use one of the free pre-C++17 implementations (like I do in my C++11 codebase). https://github.com/mpark/variant
-
Using std::variant and std::visit to transform-reduce a (rose) tree
mpark::variant and mpark::visit are faster than the gcc STL implementation.
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?
type-fest - A collection of essential TypeScript types
te - C++17 Run-time polymorphism (type erasure) library
BackportCpp - Library of backported modern C++ types to work with C++11
modern-cpp-tutorial - 📚 Modern C++ Tutorial: C++11/14/17/20 On the Fly | https://changkun.de/modern-cpp/
recursive-variant - Recursive Variant: A simple library for Recursive Variant Types
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.
chessCAMO - chessCAMO is a newly proposed chess engine with a built-in variant that stands for Calculations Always Make Opportunities and was inspired by the very popular chess variant Crazyhouse. The "CAMO" portion comes from the idea that in this variant a player can sacrifice making a move to replace one of their pieces from the "piece reservoir".
CppDyn - CppDyn is a library which aims to simplify use of polymorphism in C++20
optional - C++11/14/17 std::optional with functional-style extensions and reference support
hana - Your standard library for metaprogramming
Thrust - [ARCHIVED] The C++ parallel algorithms library. See https://github.com/NVIDIA/cccl
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.