<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Jun 13, 2014 at 5:59 PM, Rafael EspĂ­ndola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">> It means that there are std::errc::... values which we will hand to the<br>
> generic_category virtual methods which would never get handed to them in the<br>
> standard library because in the standard library these values are always<br>
> paired with system_category.<br>
<br>
</div>Not always. Since std::make_error_code will put them in the<br>
generic_caterory, any method in the generic category has to be able to<br>
handle them, no?<br></blockquote><div><br></div><div>Ahh, I see.</div><div><br></div><div>So generic_category will have to be capable of handling them... And the whole equivalent virtual dispatch thing is to allow these to compare for equality with random non-portable things...</div>
<div><br></div><div>NM, I think I see how this ends up working now. We sacrifice portable equality testing of these enums by forcing them into error_code, but everything still works. And we're OK without the portable equality testing because we own all the interfaces and can force them to *all* use this enum.</div>
<div><br></div><div>LGTM! Sorry for the confusion.</div></div></div></div>