nonstd-lite
Parent of *-lite repositories, a migration path to post-C++11 features for pre-C++11 environments (by martinmoene)
variant
C++17 `std::variant` for C++11/14/17 (by mpark)
nonstd-lite | variant | |
---|---|---|
1 | 5 | |
83 | 686 | |
- | 2.3% | |
10.0 | 0.0 | |
almost 4 years ago | over 2 years ago | |
Batchfile | C++ | |
gtkbook License | gtkbook License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
nonstd-lite
Posts with mentions or reviews of nonstd-lite.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-24.
-
Backward compatible implementations of newer standards constructs?
Check out nonstd-lite
variant
Posts with mentions or reviews of variant.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-24.
-
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.
What are some alternatives?
When comparing nonstd-lite and variant you can also consider the following projects:
optional - C++11/14/17 std::optional with functional-style extensions and reference support
recursive-variant - Recursive Variant: A simple library for Recursive Variant Types
abseil-cpp - Abseil Common Libraries (C++)
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".