<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Hi all:<br>so what's the matter on writing GENERIC MODULE List:<br>http://modula3.elegosoft.com/cm3/doc/help/gen_html/libm3/src/list/List.mg.html<br><br>What are vectors, object arrays in C++? What is the difference between an array and a vector? More operations, it seems, I guess you don't need a vector for that (and why for just an int)?<br> List module is a dynamic structure of Objects, RT errors are caught in ESC so it's clear how and when to use it, hopefully.<br>Thanks in advance<br><br><br>--- El <b>vie, 28/9/12, Jay K <i><jay.krell@cornell.edu></i></b> escribió:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>De: Jay K <jay.krell@cornell.edu><br>Asunto: [M3devel] STL algorithms? sort/unique?<br>Para: "m3devel" <m3devel@elegosoft.com><br>Fecha: viernes, 28 de septiembre,
 2012 02:18<br><br><div id="yiv1590398459">

<style><!--
#yiv1590398459 .yiv1590398459hmmessage P
{
margin:0px;padding:0px;}
#yiv1590398459 body.yiv1590398459hmmessage
{
font-size:12pt;font-family:Calibri;}
--></style><div><div dir="ltr">    I have an IntSeq.T with a bunch of integers.    <br><div><span style="font-size: 12pt;">   </span><span style="font-size: 12pt;"> </span>What is a good terse efficient idiom for sort and unique?<span style="font-size: 12pt;">   </span><span style="font-size: 12pt;"> </span></div><div><br></div><div><br></div><div>    In C++ I would say:<span style="font-size: 12pt;">   </span><span style="font-size: 12pt;"> </span></div><div><span style="font-size: 12pt;">   </span><span style="font-size: 12pt;"> </span>vector<int> a;<span style="font-size: 12pt;">   </span><span style="font-size: 12pt;"> </span></div><div><span style="font-size: 12pt;">   </span><span style="font-size: 12pt;"> </span>a.push_back(...);<span style="font-size: 12pt;">   </span><span style="font-size:
 12pt;"> </span></div><div><div><span style="font-size: 12pt;">   </span><span style="font-size: 12pt;"> </span>a.push_back(...);<span style="font-size: 12pt;">   </span><span style="font-size: 12pt;"> </span></div><div><span style="font-size: 12pt;">   </span><span style="font-size: 12pt;"> </span>std::sort(a.begin(), a.end());<span style="font-size: 12pt;">   </span><span style="font-size: 12pt;"> </span></div><div><span style="font-size: 12pt;">   </span><span style="font-size: 12pt;"> </span>a.resize(std::unique(a.begin(), a.end()) - a.begin());<span style="font-size: 12pt;">   </span><span style="font-size: 12pt;"> </span></div><div><span style="font-size: 12pt;">    for (auto i = a.begin(); i != a.end(); ++i)</span></div><div><span style="font-size: 12pt;">    {<br>      do stuff with *i</span></div><div><span
 style="font-size: 12pt;">    }</span></div><div> </div><div><br></div><div><span style="font-size: 12pt;">   </span><span style="font-size: 12pt;"> </span>Nice, terse, efficient.<span style="font-size: 12pt;">   </span><span style="font-size: 12pt;"> </span></div><div><span style="font-size: 12pt;">   </span><span style="font-size: 12pt;"> </span>In Modula-3?<span style="font-size: 12pt;">   </span><span style="font-size: 12pt;"> </span></div><div><br></div><div><br></div><div>I know that unique is one of the easiest algorithms to manually write inline,</div><div>but I shouldn't have to.</div><div><br></div><div><br></div><div>(I'm really trying to stay in Modula-3 here, but it is definitely a struggle. :( )</div><div><br></div><div><br></div><div>Thank you,</div><div> - Jay</div><br><br></div>                                           </div></div>
</div></blockquote></td></tr></table>