Hi, Everyone,

The formal review of Niall Douglas' Outcome (v2) library begins Fri-19-Jan and continues until Sun-28-Jan, 2018.

Your participation is encouraged, as the proposed library is uncoupled and focused, and reviewers do not need to be domain experts to appreciate the potential usefulness of the library and to propose improvements.  Everyone needs (and has suffered) error handling, and can compose an opinion on that topic.

Outcome is a header-only C++14 library providing expressive and very lightweight 'outcome<T>' and 'result<T>' error handling, suitable for low-latency code bases. The library further provides mechanisms for wrapping '<success|error|exception>' state to safely wrap throwing APIs; and poses an idiom of, "islands of exception in a sea of noexcept".

Key features:

*- Makes using 'std::error_code' from C++11's <system_error> more convenient and safe
*- Good focus on low-latency (with tests and benchmarks)
*- Error-handling algorithmic composition with-or-without C++ exceptions enabled
*- Dependency only on Boost

Recall a previous Outcome (v1) Boost Review occurred 19-May to 02-June 2017:
  *- Outcome (v1) Review Report:
    *- https://lists.boost.org/Archives/boost/2017/06/235783.php

This review for Outcome (v2) includes significant changes as a result of feedback from the Outcome (v1) review.  For a list of changes (v1==>v2), see:
  *- https://github.com/ned14/outcome#changes-since-v1

Reference API docs:
  *- https://ned14.github.io/outcome/reference/

GitHub:
  *- https://github.com/ned14/boost-outcome

Tarball:
  *- https://github.com/ned14/boost-outcome/releases/tag/v2.0-boost-peer-review

Online "play-pen" (try it out!):
  *- https://wandbox.org/permlink/Ji1khzyxoAR0LJQC

YOUR REVIEW
---------------------
Please post your comments and review to the boost mailing list (preferably), or privately to the Review Manager (to me ;-). Here are some questions you might want to answer in your review:

- What is your evaluation of the design?

- What is your evaluation of the implementation?

- What is your evaluation of the documentation?

- What is your evaluation of the potential usefulness of the library?

- Did you try to use the library? With what compiler? Did you have any problems?

- How much effort did you put into your evaluation? A glance? A quick reading? In-depth study?

- Are you knowledgeable about the problem domain?

And most importantly:

- Do you think the library should be accepted as a Boost library?

For more information about Boost Formal Review Process, see: http://www.boost.org/community/reviews.html

Thank you very much for your time and efforts.

--charley
Outcome (v2) Review Manager