C++20 library for error-able results.
#include <iostream>
#include "ifl/result.hpp"
static ifl::result<int> do_stuff(bool success)
{
if (!success)
{
return ifl::error{1, "unknown error"};
}
return 49;
}
int main(void)
{
int res;
ifl::error err;
if (!do_stuff(false).into(res).into(err))
{
std::cerr << "Got error: " << err.code() << " " << err.what() << std::endl;
return err.code();
}
std::cout << "Got result: " << res << std::endl;
}