AnyAny
C++17 library for comfortable and efficient dynamic polymorphism (by kelbon)
tinyformat
Minimal, type safe printf replacement library for C++ (by c42f)
Our great sponsors
AnyAny | tinyformat | |
---|---|---|
22 | 4 | |
412 | 517 | |
- | - | |
6.7 | 0.0 | |
about 1 month ago | about 2 months ago | |
C++ | C++ | |
Apache License 2.0 | - |
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.
AnyAny
Posts with mentions or reviews of AnyAny.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-04-13.
- DynaMix 2.0.0 Released
-
rust-like traits on plain C++ with short macro (type erasure actually)
https://github.com/kelbon/AnyAny trait(add, void(int), self.add(args...));
-
Static Interfaces, concepts vs de-virtualisation?
i dont know what he means, but with this type erasure library you can have non virtual interface and still use dynamic polymorphism with those types, so you dont need choose *do i need to do this type polymorphic* etc
- C++ Polymorphism Without Inheritance Using Glaze
-
I wrote a library that emulates dyn traits from Rust in C++
Good idea selling Rust from behind enemy lines soldier! My god, your readme doesn't even mention Rust, wonderful!
The way dynamic polymorphism is done in Rust is really interesting and elegant, so I thought I'd give C++ developers a try, maybe they'll get to Rust faster and understand the concepts more easily! https://github.com/kelbon/AnyAny
-
Using final in C++ to improve performance
https://github.com/kelbon/AnyAny here you can see how it implemented, for example
- Runtime Concept Idiom: Opinions
- Creating existential types automatically from concepts?
- C++ Show and Tell - July 2022
tinyformat
Posts with mentions or reviews of tinyformat.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-08-03.
-
I’m about to start learning C++
printf has some pretty serious security implications. When I want more complicated text printing options than what is easy or terse in iostream then I use the tinyformat library.
-
The Year is 2022 and the Standard is C++20; what is your preferred way to do Text I/O?
The usual way I do I/O is via combining C++ stringstremas with either tinyformat or via an implementation of p0117 "variadic to_[basic_]string, depending on the particular need.
-
[Belay the C++] Yet another reason to not use printf (or write C code in general)
Haven't been able to make it work with MSVC 2012 (the earliest Windows-side compiler I need to support). I myself use tinyformat instead.
-
Is there a real benefit to using cout as opposed to printf that offsets the extra work in formatting?
However, not all is lost. While there are libraries like {fmt} I don't pay attention to them because they are far away into The Future and unusable with my requirements (C++03 support at the earliest, work reasons). Most newfangled libs I've seen are intended for Compilers of the Future, for C++20/C++23 and the like, and with that among other reasons are not generic enough for me. Instead I just use tinyformat that lays on top of both and bridges them, not to mention the biggest sell that is rrtaining the POSIX style printf notation (why didn't {fmt} go with that is still a mystery to me).
What are some alternatives?
When comparing AnyAny and tinyformat you can also consider the following projects:
C++ Format - A modern formatting library
blackboxwm - A window manager for X11
tolc - A bindings compiler for C++
printf-tac-toe - tic-tac-toe in a single call to printf
dyno - Runtime polymorphism done right
Kalman - Kalman Filter
papers - ISO/IEC JTC1 SC22 WG21 paper scheduling and management
kelcoro - C++20 coroutine library
ReactivePlusPlus - Implementation of async observable/observer (Reactive Programming) in C++ with care about performance and templates in mind in ReactiveX approach
scnlib - scanf for modern C++
xtr - A Fast and Convenient C++ Logging Library for Low-latency or Real-time Environments