Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2012-11

A question about generic collections - maybe...

2 messages · 1 person ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

bsquared

Hello,

I am wondering what the best approach to this problem is.

I have what amounts to a Tstringlist that I am attempting to use generics for typing the objects and I would like to get the names and values as lists. I am thinking something along the lines of the following, but it doesn't feel quite right.

   generic TGenericDatabaseMap<TKey,TData>  = class(TFPGMap)
     function GetDataBases: TFPGList<TData>;
     function GetDatabaseNames: TFPGList<TKey>;
   end;
   TDatabaseMap = specialize TGenericDatabaseMap<String,TDataContainer>;

Any feedback is appreciated

Thank you.

Regards, Brian

Reply by email

bsquared
to bsquared
bsquared wrote 21 lines
Hello, I am wondering what the best approach to this problem is. I have what amounts to a Tstringlist that I am attempting to use generics for typing the objects and I would like to get the names and values as lists. I am thinking something along the lines of the following, but it doesn't feel quite right. generic TGenericDatabaseMap<TKey,TData> = class(TFPGMap) function GetDataBases: TFPGList<TData>; function GetDatabaseNames: TFPGList<TKey>; end; TDatabaseMap = specialize TGenericDatabaseMap<String,TDataContainer>; Any feedback is appreciated Thank you.

I think I got it.

   TDatabaseList = specialize TFPGList<TDataContainer>;
   TBaseDatabaseMap = specialize TFPGMap<String,TDataContainer>;
   { TDatabaseMap }
   TDatabaseMap = class(TBaseDatabaseMap)
     function GetDataBases: TDatabaseList;
     function GetDatabaseNames: TStrings;
   end;

Although I wonder If a collection might serve better.

Regards, Brian

Reply by email