Outcome is a header-only C++14 library
Oops, are you sure about that? My understanding is that some of the examples and tests are C++14 but the library itself is C++11 (maybe earlier). Niall?
Outcome makes use of variable templates. There is still a code path using types instead, but it is used exclusively on MSVC and I aim to remove it as soon as Microsoft fix their compiler (I was told it'll be VS2017 Update 1). Outcome also makes heavy use of relaxed constexpr, but you're right it's macroed out for VS2015. I intend to drop support for VS2015 before Outcome enters Boost, if it is accepted, as VS2015 generates a lot of code bloat when using Outcome which VS2017 does not. The MSVC specific workarounds are also brittle and hacky, and I'd like them to go away and use ISO C++ throughout. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/