<div dir="ltr">Hi,<div><br></div><div>Thanks for the feedback. </div><div><br></div><div>1. I agree that when doing template metaprogramming, the alias keyword is significantly better than typedef. I will update the document to state that we prefer alias over typedef</div><div><br></div><div>2. I am going to update the std::array section to clarify that is preferred over raw fixed size 'C' arrays. </div><div><br></div><div>3. This is good information to have. I will add a comment to the scoped enums section while I wait for more feedback<br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 27, 2017 at 3:30 PM, B B <span dir="ltr"><<a href="mailto:baljci@hotmail.com" target="_blank">baljci@hotmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div id="m_2854504301224582632m_-1575733224505100624divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif" dir="ltr">
<p>I would suggest the following:</p>
<p><br>
</p>
<p>- Prefer the use of alias declarations instead of typedef: they do the same but alias declarations are better because they can be templetized (see Scott Meyers, Effective Modern C++, 63-67)</p>
<p>- Replace raw arrays with std::array when possible: they are copyable, easier to manipulate and have no extra performance costs compared to raw arrays.</p>
<p>- For scoped enums, I would restrict their use to global enums, especially in case of possible name conflicts. For nested enums, I would suggest to maintain the use of unscoped enums for two reasons: first, you don't need to write MyEnum::MyEnumValue each
time you use them inside the class implementation; second, from my own experience, their implicit conversion to int can be useful in many cases.</p>
<div><br>
</div>
Boris<br>
<br>
<div style="color:rgb(0,0,0)">
<div>
<hr style="display:inline-block;width:98%">
<div id="m_2854504301224582632m_-1575733224505100624x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>De :</b> vtkusers <<a href="mailto:vtkusers-bounces@vtk.org" target="_blank">vtkusers-bounces@vtk.org</a>> de la part de Robert Maynard <<a href="mailto:robert.maynard@kitware.com" target="_blank">robert.maynard@kitware.com</a>><br>
<b>Envoyé :</b> lundi 27 mars 2017 20:03<br>
<b>À :</b> VTK Developers; vtk vtk<br>
<b>Objet :</b> [vtkusers] Allowable C++11 Features in VTK</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt">
<div class="m_2854504301224582632m_-1575733224505100624PlainText"><div><div class="m_2854504301224582632h5">As everyone is aware over the past couple of months we have updated<br>
VTK to require a C++11 compiler, but have not explicitly stated what<br>
C++11 features are usable.<br>
<br>
We do not intend to incorporate all features of the language at this<br>
time because of incompatibilities with the structure of VTK and/or<br>
incomplete support for the features by all of the compilers that VTK<br>
aims to support.<br>
<br>
The current proposed C++11 features, and where they are allowed can be found at:<br>
<br>
<a href="https://docs.google.com/document/d/1h7wIq25d-qimQO8N9sE43fHXKKlHM2sW2ErohfHiuCg/edit?usp=sharing" id="m_2854504301224582632m_-1575733224505100624LPlnk333734" target="_blank">https://docs.google.com/docume<wbr>nt/d/1h7wIq25d-qimQO8N9sE43fHX<wbr>KKlHM2sW2ErohfHiuCg/edit?usp=<wbr>sharing</a><br>
<br>
Over the next two weeks please provide feedback, either by commenting<br>
on the google document, or replying on the mailing list. Once the two<br>
weeks are over, we will integrate the result into the existing coding<br>
documentation, and then allow C++11 to be used.<br></div></div>
______________________________<wbr>_________________<br>
Powered by <a href="http://www.kitware.com" id="m_2854504301224582632m_-1575733224505100624LPlnk536969" target="_blank">
www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" id="m_2854504301224582632m_-1575733224505100624LPlnk502984" target="_blank">
http://www.kitware.com/opensou<wbr>rce/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" id="m_2854504301224582632m_-1575733224505100624LPlnk502669" target="_blank">
http://www.vtk.org/Wiki/VTK_FA<wbr>Q</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" id="m_2854504301224582632m_-1575733224505100624LPlnk545185" target="_blank">
http://markmail.org/search/?q=<wbr>vtkusers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/vtkusers" id="m_2854504301224582632m_-1575733224505100624LPlnk595077" target="_blank">http://public.kitware.com/mail<wbr>man/listinfo/vtkusers</a>
<div id="m_2854504301224582632m_-1575733224505100624LPBorder_GT_14906393607930.6676758436186805" style="margin-bottom:20px;overflow:auto;width:100%;text-indent:0px">
<table id="m_2854504301224582632m_-1575733224505100624LPContainer_14906393607880.9413271080097301" cellspacing="0" style="width:90%;background-color:rgb(255,255,255);overflow:auto;padding-top:20px;padding-bottom:20px;margin-top:20px;border-top:1px dotted rgb(200,200,200);border-bottom:1px dotted rgb(200,200,200)">
<tbody>
<tr valign="top" style="border-spacing:0px">
<td id="m_2854504301224582632m_-1575733224505100624TextCell_14906393607890.026372813640237247" colspan="2" style="vertical-align:top;padding:0px;display:table-cell">
<div id="m_2854504301224582632m_-1575733224505100624LPRemovePreviewContainer_14906393607890.8724996193447327"></div>
<div id="m_2854504301224582632m_-1575733224505100624LPExpandDescriptionContainer_14906393607890.19397823952057158"></div>
<div id="m_2854504301224582632m_-1575733224505100624LPTitle_14906393607890.7660083102604966" style="color:rgb(0,120,215);font-weight:normal;font-size:21px;font-family:wf_segoe-ui_light,"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;line-height:21px">
<a id="m_2854504301224582632m_-1575733224505100624LPUrlAnchor_14906393607900.8856133429784927" href="http://public.kitware.com/mailman/listinfo/vtkusers" style="text-decoration:none" target="_blank">vtkusers Info Page - Kitware</a></div>
<div id="m_2854504301224582632m_-1575733224505100624LPMetadata_14906393607900.024194281024743303" style="margin:10px 0px 16px;color:rgb(102,102,102);font-weight:normal;font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-size:14px;line-height:14px">
<a href="http://public.kitware.com" target="_blank">public.kitware.com</a></div>
<div id="m_2854504301224582632m_-1575733224505100624LPDescription_14906393607900.6166363324512534" style="display:block;color:rgb(102,102,102);font-weight:normal;font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-size:14px;line-height:20px;max-height:100px;overflow:hidden">
To see the collection of prior postings to the list, visit the vtkusers Archives. Using vtkusers: To post a message to all the list members, send ...</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
<br>
</div>
</span></font></div>
</div>
</div>
</blockquote></div><br></div></div></div>