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!)
Gareth aka. Kit
On 05/06/2019 10:53, J. Gareth Moreton wrote:
Hah, oh that sounds fun!
I would develop something more lightweight and efficient, but that
would just make a 4th poison to choose from.
Gareth aka. Kit
On 05/06/2019 08:01, Sven Barth via fpc-devel wrote:
J. Gareth Moreton <gar...@moreton-family.com
<mailto:gar...@moreton-family.com>> schrieb am Di., 4. Juni 2019, 22:40:
Hi everyone,
I may be missing the obvious here, but I've noticed that there
are some
notable absences in the Free Generics Library. While there's a
standard
list and a map and the like, there aren't any of the special
lists like
a stack and a queue and the like. It proved slightly problematic
while
in a mentoring session with another programmer whom I was
introducing to
Free Pascal, because our sample project required a stack. The
standard
TStack uses pointers, which is not exactly portable.
If not present, can I request the addition of TFPGStack and
TFPGQueue to
the Free Generics Library? They should be simple descendants of of
TFPGList unless I'm missing something painfully obvious. Or am I
missing something even more obvious in that they are defined
elsewhere?
Just to add a bit to the other answer: FPC has three generic
libraries: fgl, fcl-stl and rtl-generics.
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.
fcl-stl had been a contribution by a third party developer for a
C++-STL-like generics library.
rtl-generics was also contributed by a third party developer for
Delphi compatibility, is rather performant, but also rather heavy
weight.
You can also see a speed comparison here:
http://www.benibela.de/fpc-map-benchmark_en.html
In the end (if you don't need specific functionality like a stack ;)
), it's a "pick your own poison" problem :P
Regards,
Sven
_______________________________________________
fpc-devel maillist -fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
Virus-free. www.avast.com
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel