<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Nov 2, 2014, at 9:20 AM, Junxiao Shi <<a href="mailto:shijunxiao@email.arizona.edu" class="">shijunxiao@email.arizona.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Dear folks<div class=""><br class=""></div><div class="">We need to define some new code style rules for C++11 syntax.</div><div class=""><br class=""></div><div class="">I'd start with three new rules:</div><div class=""><br class=""></div><div class="">rule x. Range-based for should be in the following form:</div><div class=""><br class=""></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px" class=""><div class="">for (auto i : range) {</div><div class="">  statements;</div><div class="">}</div></blockquote><div class=""><br class=""></div><div class=""><br class=""></div><div class="">rule x. Lambda expression should be in the following form:</div><div class=""><br class=""></div><div class=""><blockquote style="margin:0 0 0 40px;border:none;padding:0px" class=""><div class="">[&capture1, capture2] (Type1 arg1, Type2 arg2)</div><div class="">{</div></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px" class=""><div class="">  statements;</div></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px" class=""><div class="">}</div></blockquote></div></div></div></blockquote><div><br class=""></div><div>I prefer different style, which more aligns with the existing code (and is more gnu style):</div><div><br class=""></div><div>[&capture1, capture2] (Type1 arg1, Type2 arg2) {<br class="">  statements;<br class="">}</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class="">If the function body has only one line, and the whole expression can fit in one line, the following form is also acceptable:</div><div class=""><br class=""></div><div class=""><blockquote style="margin:0 0 0 40px;border:none;padding:0px" class=""><div class="">[&capture1, capture2] (Type1 arg1, Type2 arg2) { statement; }</div></blockquote></div></div></div></blockquote><div><br class=""></div><div>that’s fine too</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class="">rule x. `auto` type should only be used for local variables.</div></div></div></blockquote><div><br class=""></div><div>Where else, potentially, it can be used?</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class="">What other rules do we need?</div><div class=""><br class=""></div><div class="">Yours, Junxiao</div></div>
_______________________________________________<br class="">Nfd-dev mailing list<br class=""><a href="mailto:Nfd-dev@lists.cs.ucla.edu" class="">Nfd-dev@lists.cs.ucla.edu</a><br class="">http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev<br class=""></div></blockquote></div><br class=""></body></html>