For the record, I was thinking of (and testing) a different implementation that does not involve the `failed` call. Instead, I changed the `error_code` constructors:
I feel no love for this design. What I want to do is construct an error code from some C error code returned to me without additional logic. I should not need to know whether the C error code is success or failure. You've got to think of the many cases where we wrap C libraries like SQLite and we want to encapsulate its error/status coding system into C++ with semantic understanding of what those codes mean. So, specifically, their mapping onto std::errc, and their success/failure/warning meanings. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/