khustup / penum

Parameterized enum for C++

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

penum

Parameterized enums for C++, using std::variant and macros

Inspired by Swift and Rust enums.

Usage

PENUM(result)
    PCASE(success, std::string)
    PCASE(error, std::exception_ptr)
PENUM_END;

result request(...)
{
    if (request_succeeded) {
        return result::success(std::string(data));
    }
    return result::error(std::make_exception_ptr(error));
}

For usage examples please look at Examples

About

Parameterized enum for C++

License:Apache License 2.0


Languages

Language:C++ 100.0%