盒子资源分类
DGL (The Delphi Generic Library) (DELPHI泛型库)
关键字:DGL Generic Library 泛型容器 算法库 STL
来 自:原创
平 台:Win9x,Win2k/XP/NT,Win2003,Linux
下载所需:0 火柴
深浅度:中级
完成时间:2006/10/20
发布者:housisong
发布时间:2006/11/6
编辑器:DELPHI7
语 种:简体中文
分 类:杂项
下载浏览:1187/13372
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、Interface、String等做多套代码实现(如:DCL库); 但他们相对于C++的STL来说缺陷也很明显,类型不安全,速度慢,代码重复; DGL库没有这些问题,库能够支持所有基本类型、指针(包括类的指针)、Interface、结构(record)、Object结构(Delphi中已经不推荐使用)、类成员函数指针、类(class)的值语义(一般Delphi中不习惯使用类的值语义,所以不建议使用)等其它用户自定义类型,并且类型安全(速度当然没有问题啦),没有重复代码! 库现在包括以下组件: <object> _IIterator 容器迭代器 _IMapIterator Map迭代器 (PointerBox函数可以将原生指针包装成一个与库兼容的迭代器) <接口interface> _ICollection 容器接口 _ISerialContainer 序列容器的接口 _IVector 向量接口(容器的一种) _IList 链表接口(容器的一种) _IDeque 队列接口(容器的一种) _IStack 堆栈接口(一种容器配接器) _IQueue 双端队列接口(一种容器配接器) _IPriorityQueue 优先级队列 _ISet Set接口 _IMultiSet MultiSet接口 _IMap Map接口 _IMultiMap MultiMap接口 <类class> _TAlgorithms 算法类(包括:拷贝、替换、删除、排序、搜索等算法) _TVector 向量实现类 _TList 链表List的一个实现 _TDeque 队列Deque的一个实现 _TStack 堆栈Stack _TQueue 双端队列Queue (_TRB_Tree 红黑树(库内部使用)) _TSet 用红黑树实现的Set _TMultiSet 用红黑树实现的MultiSet _TMap 用红黑树实现的Map _TMultiMap 用红黑树实现的MultiMap (_THashTableBase Hash表(库内部使用)) _THashSet 用Hash表实现的Set _THashMultiSet 用Hash表实现的MultiSet _THashMap 用Hash表实现的Map _THashMultiMap 用Hash表实现的MultiMap
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们 !
相关文章
相关评论