Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi [Unit] Generische Sets (https://www.delphipraxis.net/184084-%5Bunit%5D-generische-sets.html)

himitsu 24. Feb 2015 14:51

AW: [Unit] Generisches Set
 
Du hast es ja praktisch schon fertig :ziinker: (ohne Leerzeichen und dann noch die Brackets)


Hier meckert ja bestimmt der Compiler, bei den strohdoofen Generics. :stupid:
Delphi-Quellcode:
private type
  TMySet = set of T;

TypeInfo(TMySet)

himitsu 24. Feb 2015 14:57

AW: [Unit] Generische Sets
 
Es gibt schon mehrere Threads zu.

Ich verwende aktuell eine Multi-Lizenz ala "MPL v1.1 , GPL v2.0 or LGPL v2.0" (siehe ManifestCreatorForm.pas)
Da kann sich jeder Eine von aussuchen, die bei ihm passt.



Ohne Lizenz ist blöd, wegen Rechtsunsicherheit und so.

http://de.wikipedia.org/wiki/Beerware

Neutral General 24. Feb 2015 15:00

AW: [Unit] Generische Sets
 
Hab jetzt die MPL 2.0 hinzugefügt oben.

Set of T funktioniert leider nicht. Das ist ja das Problem dabei. Record helper für Sets gibt es auch. Das in Kombination wäre dann ja trivial ;)

Der schöne Günther 24. Feb 2015 15:33

AW: [Unit] Generisches Set
 
Zitat:

Zitat von Jens01 (Beitrag 1291306)
Würde irgendwie gut in dies Spring4D-Projekt reinpassen.

Gibt es da auch:
http://www.devjetsoftware.com/docs/s...ns.ISet(T).htm

Zum Vergleich sicher ganz interessant.

Jens01 24. Feb 2015 15:47

AW: [Unit] Generische Sets
 
Ach, haben die schon...
Die Spring-Leute sind aber solche Interface-Fetischisten.

Stevie 24. Feb 2015 16:32

AW: [Unit] Generische Sets
 
Zitat:

Zitat von Jens01 (Beitrag 1291326)
Ach, haben die schon...
Die Spring-Leute sind aber solche Interface-Fetischisten.

Das mag daran liegen, dass ISet in Spring4D ein Hashset und kein (Enum)Set im Delphi Sinne ist.

Nen genereller Hinweis noch: record und array parameter solltest du immer mit const versehen,
werden eh schon genug sinnlose Copy Operationen vom Compiler eingestreut. Vereinzeltes Verstreuen von inline kann auch noch der Performance zuträglich sein.

Auch, wenn ich es cool finde (ich mag record basierte Custom Types!) - ist das Ding natürlich die pure Performancevernichtung im Gegensatz zu nativen enums und sets :(

Du solltest dich zudem entscheiden, ob die Methoden Self verändern oder nicht - imo sollte Intersect z.b. die Schnittmenge zurückgeben, aber nicht Self selber zu der Schnittmenge machen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:47 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz