<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Still, saying all that, maybe there's room for improvement in
      rtl-generics in the form of refactoring, like I've found in the
      compiler itself in a few places.  When you say 'heavyweight', do
      you mean it's a little slow sometimes or just very bulky when it
      comes to code size? (Taking a brief look at rtl-generics, there
      are a lot of classes!)</p>
    <p>Gareth aka. Kit</p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 05/06/2019 10:53, J. Gareth Moreton
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:025b1b6d-bba6-caef-6833-bb7b2513df26@moreton-family.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>Hah, oh that sounds fun!</p>
      <p>I would develop something more lightweight and efficient, but
        that would just make a 4th poison to choose from.</p>
      <p>Gareth aka. Kit</p>
      <p><br>
      </p>
      <div class="moz-cite-prefix">On 05/06/2019 08:01, Sven Barth via
        fpc-devel wrote:<br>
      </div>
      <blockquote type="cite"
cite="mid:CAFMUeB_g+mBY1Qfrwa50Wer5fjVyZRepxvP4LdgmqZMUU4Qh8w@mail.gmail.com">
        <meta http-equiv="content-type" content="text/html;
          charset=UTF-8">
        <div dir="auto">
          <div>
            <div class="gmail_quote">
              <div dir="ltr" class="gmail_attr">J. Gareth Moreton <<a
                  href="mailto:gareth@moreton-family.com"
                  moz-do-not-send="true">gareth@moreton-family.com</a>>
                schrieb am Di., 4. Juni 2019, 22:40:<br>
              </div>
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi
                everyone,<br>
                <br>
                I may be missing the obvious here, but I've noticed that
                there are some <br>
                notable absences in the Free Generics Library.  While
                there's a standard <br>
                list and a map and the like, there aren't any of the
                special lists like <br>
                a stack and a queue and the like.  It proved slightly
                problematic while <br>
                in a mentoring session with another programmer whom I
                was introducing to <br>
                Free Pascal, because our sample project required a
                stack.  The standard <br>
                TStack uses pointers, which is not exactly portable.<br>
                <br>
                If not present, can I request the addition of TFPGStack
                and TFPGQueue to <br>
                the Free Generics Library? They should be simple
                descendants of of <br>
                TFPGList unless I'm missing something painfully
                obvious.  Or am I <br>
                missing something even more obvious in that they are
                defined elsewhere?<br>
              </blockquote>
            </div>
          </div>
          <div dir="auto"><br>
          </div>
          <div dir="auto">Just to add a bit to the other answer: FPC has
            three generic libraries: fgl, fcl-stl and rtl-generics.</div>
          <div dir="auto">fgl is the oldest and also served as a testbed
            for the generics. It cycles together with the compiler and
            is comparatively lightweight (at least to the other two),
            but has some requirements when using records as parameters
            and the performance isn't as good as that if rtl-generics. </div>
          <div dir="auto">fcl-stl had been a contribution by a third
            party developer for a C++-STL-like generics library.</div>
          <div dir="auto">rtl-generics was also contributed by a third
            party developer for Delphi compatibility, is rather
            performant, but also rather heavy weight. </div>
          <div dir="auto"><br>
          </div>
          <div dir="auto">You can also see a speed comparison here: <a
              href="http://www.benibela.de/fpc-map-benchmark_en.html"
              moz-do-not-send="true">http://www.benibela.de/fpc-map-benchmark_en.html</a></div>
          <div dir="auto"><br>
          </div>
          <div dir="auto">In the end (if you don't need specific
            functionality like a stack ;) ), it's a "pick your own
            poison" problem :P</div>
          <div dir="auto"><br>
          </div>
          <div dir="auto">Regards, </div>
          <div dir="auto">Sven </div>
          <div dir="auto">
            <div class="gmail_quote">
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex"> </blockquote>
            </div>
          </div>
        </div>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <pre class="moz-quote-pre" wrap="">_______________________________________________
fpc-devel maillist  -  <a class="moz-txt-link-abbreviated" href="mailto:fpc-devel@lists.freepascal.org" moz-do-not-send="true">fpc-devel@lists.freepascal.org</a>
<a class="moz-txt-link-freetext" href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel" moz-do-not-send="true">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel</a>
</pre>
      </blockquote>
      <div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br>
        <table style="border-top: 1px solid #D3D4DE;">
          <tbody>
            <tr>
              <td style="width: 55px; padding-top: 13px;"><a
href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient"
                  target="_blank" moz-do-not-send="true"><img
src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif"
                    alt="" style="width: 46px; height: 29px;"
                    moz-do-not-send="true" width="46" height="29"></a></td>
              <td style="width: 470px; padding-top: 12px; color:
                #41424e; font-size: 13px; font-family: Arial, Helvetica,
                sans-serif; line-height: 18px;">Virus-free. <a
href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient"
                  target="_blank" style="color: #4453ea;"
                  moz-do-not-send="true">www.avast.com</a> </td>
            </tr>
          </tbody>
        </table>
        <a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1"
          height="1" moz-do-not-send="true"> </a></div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
fpc-devel maillist  -  <a class="moz-txt-link-abbreviated" href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a>
<a class="moz-txt-link-freetext" href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel</a>
</pre>
    </blockquote>
  </body>
</html>