variant
BackportCpp
variant | BackportCpp | |
---|---|---|
5 | 1 | |
645 | 66 | |
- | - | |
0.0 | 0.0 | |
over 1 year ago | over 2 years ago | |
C++ | C++ | |
Boost Software License 1.0 | MIT License |
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.
BackportCpp
-
A small suggestion for cppreference great documentation!
Interesting idea but for which standard? For me, if you stay with saggy C++11, C++14 99% of compilers support 99% of the norm, no ? You may think of something adapting autotools doing at starting checkup if each function is available and generate a report file. Else you can try https://github.com/bitwizeshift/BackportCpp
What are some alternatives?
type-fest - A collection of essential TypeScript types
HFSM2 - High-Performance Hierarchical Finite State Machine Framework
recursive-variant - Recursive Variant: A simple library for Recursive Variant Types
span-lite - span lite - A C++20-like span for C++98, C++11 and later in a single-file header-only library
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".
optional - C++11/14/17 std::optional with functional-style extensions and reference support
result - A lightweight C++11-compatible error-handling mechanism
Thrust - [ARCHIVED] The C++ parallel algorithms library. See https://github.com/NVIDIA/cccl
entt - Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more
dyno - Runtime polymorphism done right
scope_guard - A modern C++ scope guard that is easy to use but hard to misuse.