read
A small header-only library to make input in C++ sensible (by ShakaUVM)
outcome
Provides very lightweight outcome<T> and result<T> (non-Boost edition) (by ned14)
read | outcome | |
---|---|---|
12 | 9 | |
54 | 662 | |
- | - | |
0.0 | 6.9 | |
10 months ago | 2 days ago | |
C++ | C++ | |
GNU General Public License v3.0 only | GNU General Public License v3.0 or later |
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.
read
Posts with mentions or reviews of read.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-08.
-
C++ And Beyond: Discussion - Vittorio Romeo, Kevlin Henney, Nico Josuttis & Kate Gregory - ACCU 2023
It was on the mailing list that screens proposals prior to writing papers. Basically it was for making input much easier to work with, like this: https://github.com/ShakaUVM/read
-
The Future of Boost by Vinnie Falco
I have thought about submitting a library of mine (https://github.com/ShakaUVM/read) for standardization or inclusion in Boost. Basically it does for input what format did for output - replace the stream system with something more functional.
- Keep getting a loop when I enter a letter instead of a number.
- What are some cool modern libraries you enjoy using?
-
Read a string from user
Using readlib:
-
Steams operations order?
That's why I wrote my read library (https://github.com/ShakaUVM/read). You can just do:
- Why is my program skipping a cin input?
- Why am I able to capture data from text file with std::ifstream with either std::getline or extraction operator >> but not unable to do so by going back and forth between the two??
- std::cin doesn't work after entering the wrong input
-
What (relatively) easily to implement features would you like to see in c++23.
5) Make input come from functions rather than call by reference, such as what I did here: https://github.com/ShakaUVM/read
outcome
Posts with mentions or reviews of outcome.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-02-26.
-
How to define API stability for a C++ library?
https://github.com/ned14/outcome/tree/develop/abi-compliance uses both in a CI pass to ensure Outcome never changes anything which breaks either API or ABI with earlier versions.
-
What are some cool modern libraries you enjoy using?
outcome and/or expected
-
Outcome enters sustaining phase, goes ABI stable
A "Sample Usage" appears on the front page of the docs: https://ned14.github.io/outcome/
-
Does Anyone Use Boost Outcome?
I recently came across boost outcome as I was searching for a better error handling method. It took me a minute to get a hang of it but now I love it. After creating my own policy and a few aliases for easier use.
-
Is this error handling strategy good?
std::optional and std::variant can be a bit awkward to use in this scenario, though. Consider a dedicated type like boost::outcome (standalone versions) or one of the implementations of the proposed std::expected.
-
Modern C++ "result" type based on Swift / Rust
Minimum possible compile time impact is a key goal of https://github.com/ned14/outcome. We ship a single header edition which only includes the low impact standard headers as listed at https://github.com/ned14/stl-header-heft. We also don't use union storage for non-TC non-MB types in order to avoid complex metaprogramming execution by the compiler per instantiation.
-
C++ Memory Safety
It's really weird that I wrote the above, and then this bug was reported to Outcome: https://github.com/ned14/outcome/issues/244. Here is my exact complaint about lack of lifetime tracking in C++.
What are some alternatives?
When comparing read and outcome you can also consider the following projects:
frozen - a header-only, constexpr alternative to gperf for C++14 users
leaf - Lightweight Error Augmentation Framework
Boost - Super-project for modularized Boost
C++ Format - A modern formatting library
rust - Empowering everyone to build reliable and efficient software.
Experimental Boost.DI - C++14 Dependency Injection Library
PEGTL - Parsing Expression Grammar Template Library
stb - stb single-file public domain libraries for C/C++
Serial Communication Library - Cross-platform, Serial Port library written in C++
Allegro - The official Allegro 5 git repository. Pull requests welcome!
ZXing - ZXing ("Zebra Crossing") barcode scanning library for Java, Android