[fpc-pascal] Comparison operator for generics
Ryan Joseph
ryan at thealchemistguild.com
Tue Sep 12 06:18:48 CEST 2017
This is a common pattern I’m finding when working with generics in FPC. In the example below there is an equals comparison that needs to be checked but for some types such as records there is no default operator overload so I need to add one for every record that will be specialized in the class.
Is there a way around this? I’d like to just skip the comparison for specialized types that can’t be compared if possible.
type
generic TCollection<T> = class
procedure AddValue (value: T);
end;
procedure TCollection.AddValue (value: T);
begin
// comparison operator doesn't exist for records so I get compiler errors if I specialize TCollection<> with a record type
if value = T then
;
end;
Regards,
Ryan Joseph
More information about the fpc-pascal
mailing list