Delphi泛型库--DGL(The Delphi Generic Library) 在Delphi中实现的类型安全、高效、易用的泛型容器和算法库;借鉴了C++标准中的STL;
在Delphi中实现类型安全的容器
by HouSisong@263.net,2004.09.12 (2006.10.20更新)
最近都在使用Delphi,但Delphi中的容器和算法实在太缺乏了,又存在很多不一致,使用也很不方便。
在构造一些容器和算法的时候,总是怀念C++的泛型和STL;所以就尝试在Delphi中编写泛型代码;
其它现有的Deplhi容器和算法库实现中,主要的实现途径有利用Delphi中的array of const(相当于弱类型,而且对结构的支持差,如Decal);或者建立一套类体系作为容器中的元素(主要使用虚函数机制,如:左轻侯有篇文章也谈到过; 一般简单类型需要做打包拆包);还有的实现是针对TObject、IInterface、String等做多套代码实现(如:DCL库); 但他们相对于C++的STL来说缺陷也很明显,类型不安全,速度慢,代码重复;
DGL库没有这些问题,库能够支持所有基本类型、指针(包括类的指针)、Interface、结构(record)、Object结构(Delphi中已经不推荐使用)、类成员函数指针、类(class)的值语义(一般Delphi中不习惯使用类的值语义,所以不建议使用)等其它用户自定义类型,并且类型安全(速度当然没有问题啦), 没有重复代码!
库现在包括以下组件:
在Delphi中实现类型安全的容器
by HouSisong@263.net,2004.09.12 (2006.10.20更新)
最近都在使用Delphi,但Delphi中的容器和算法实在太缺乏了,又存在很多不一致,使用也很不方便。
在构造一些容器和算法的时候,总是怀念C++的泛型和STL;所以就尝试在Delphi中编写泛型代码;
其它现有的Deplhi容器和算法库实现中,主要的实现途径有利用Delphi中的array of const(相当于弱类型,而且对结构的支持差,如Decal);或者建立一套类体系作为容器中的元素(主要使用虚函数机制,如:左轻侯有篇文章也谈到过; 一般简单类型需要做打包拆包);还有的实现是针对TObject、IInterface、String等做多套代码实现(如:DCL库); 但他们相对于C++的STL来说缺陷也很明显,类型不安全,速度慢,代码重复;
DGL库没有这些问题,库能够支持所有基本类型、指针(包括类的指针)、Interface、结构(record)、Object结构(Delphi中已经不推荐使用)、类成员函数指针、类(class)的值语义(一般Delphi中不习惯使用类的值语义,所以不建议使用)等其它用户自定义类型,并且类型安全(速度当然没有问题啦), 没有重复代码!
库现在包括以下组件:







