Skip to content

Latest commit

 

History

History
35 lines (26 loc) · 546 Bytes

File metadata and controls

35 lines (26 loc) · 546 Bytes

ifl::result

C++20 library for error-able results.

example

#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;
}