<div dir="ltr">At the OpenBMC meetup last week we discussed creating an authoritative C++ style guide as well as a feature whitelist/blacklist. I am going to try to get an early style guide out fairly soonish (this week or next) that we can discuss, but while I do that I would like to bring up the topic of explicitly supported/unsupported features to discuss on the mailing list. First off, I think it is something that would have much more discussion and stronger opinions that would be convenient on gerrit/I would like to start the discussion earlier. I also think that there will probably only be a few things on that list, so discussion via email should not be overly burdensome.<div><br></div><div>At the meeting Patrick brought up two features to blacklist:</div><div><ul><li>Streams and stream style operators.</li><li>Virtual functions/runtime polymorphism</li></ul>In the case of virtual functions, I get the sense that the use is more discouraged rather than completely forbidden.</div><div><br></div><div>For the whitelist, the only current candidate is:</div><div><ul><li>exceptions</li></ul>In general, I suppose the notion of a whitelist is rather silly, but exceptions have historically been a controversial feature of C++, so I figured it best to explicitly call out.</div><div><br></div><div>I do not want to mischaracterize the arguments in favor of this proposal; it also does not seem fair to offer up a viewpoint with little explanation and critique it in the same breath, so instead I will post a follow up email with what I propose for the whitelist/blacklist.</div><div><br></div><div>Cheers</div></div>