文件名称:DGL:Delphi泛型库--DGL(The Delphi Generic Library)
文件大小:140KB
文件格式:ZIP
更新时间:2024-07-05 21:04:35
Pascal
DGL Version 1.28 Delphi泛型库--DGL(The Delphi Generic Library) , writed in 2004. === 安装: 将DGL源代码目录设置到编译器的搜索路径中 使用方法: 直接引用DGL_XXX.pas单元,大部分应用都应该没有问题了; 如果为了速度或效率等需要库支持自定义的结构等,可以新开一个单元,借鉴DGL_XXX的实现,很容易就可以完成; === 说明: DGL库实现于2004年(Delphi不支持Generic语法的年代); 那时候想在Delphi里寻找C++中类似的STL的替代品,但调查了一圈都很失望:其它现有的Delphi容器和算法库实现中,主要的实现途径有利用Delphi中的array of const和variant(相当于弱类型,而且对结构的支持差,如Decal);或者建立一套单根类体系作为容器中的元素(主要使用虚函
【文件预览】:
DGL-master
----HashFunctions.pas(12KB)
----Vector.inc_pas(16KB)
----.gitignore(89B)
----HashSet.inc_h(7KB)
----DGL_Single.pas(2KB)
----DGL_Byte.pas(2KB)
----Deque.inc_pas(32KB)
----_RB_Tree.inc_pas(23KB)
----PointerItBox.inc_pas(7KB)
----DGL.inc_pas(1KB)
----DGL_Int64.pas(2KB)
----_DGL_Point.pas(3KB)
----Queue.inc_h(3KB)
----Set.inc_h(7KB)
----DGL_Word.pas(2KB)
----PointerItBox.inc_h(5KB)
----DGL_TNotifyEvent.pas(3KB)
----DGL_Double.pas(2KB)
----DGL_Interface.pas(3KB)
----Doc()
--------DGL(The Delphi Generic Library)实现原理.txt(4KB)
--------ToDoList.txt(77B)
--------DGL(The Delphi Generic Library)安装.txt(309B)
----PriorityQueue.inc_h(4KB)
----_Pointer_QuickSort_Base.inc_pas(2KB)
----Queue.inc_pas(3KB)
----Deque.inc_h(11KB)
----PriorityQueue.inc_pas(6KB)
----List.inc_h(10KB)
----_List_Algorithms_Base.inc_pas(5KB)
----_RB_Tree.inc_h(6KB)
----Demo()
--------Unit1.dfm(3KB)
--------Unit1.pas(13KB)
--------DGLMemo.res(876B)
--------demo_fpc.dpr(658B)
--------DGLMemo.dpr(192B)
----DGLCfg.inc_h(974B)
----Set.inc_pas(7KB)
----_DGLMap_StringCaseInsensitive_Integer.pas(2KB)
----HashSet.inc_pas(7KB)
----_DGL_IntVectorVector.pas(4KB)
----DGLIntf.inc_pas(5KB)
----README.md(9KB)
----Vector.inc_h(7KB)
----Stack.inc_pas(3KB)
----DGL_Pointer.pas(3KB)
----DGLIntf.inc_h(31KB)
----List.inc_pas(15KB)
----Examples()
--------CWord.dpr(235B)
--------UnitCWord.pas(25KB)
--------UnitCWord.dfm(11KB)
--------CWord.res(4KB)
----_Algorithms_Base_Private_PValueType.inc_pas(4KB)
----_HashTable.inc_pas(18KB)
----_Algorithms_Base.inc_pas(12KB)
----Algorithms.inc_pas(3KB)
----_Algorithms_Base.inc_h(16KB)
----DGLMap_Integer_TNotifyEvent.pas(2KB)
----UnitTest()
--------TestVector.pas(18KB)
--------需要安装DUnit.txt(0B)
--------DGLTest.res(876B)
--------TestQueue.pas(1KB)
--------DGLTest.dpr(2KB)
--------TestList.pas(14KB)
--------TestMap.pas(4KB)
--------TestDeque.pas(16KB)
--------TestSet.pas(9KB)
--------TestPriorityQueue.pas(3KB)
--------TestAlgorithms.pas(20KB)
--------TestStack.pas(1KB)
--------dunit.ini(37B)
----Stack.inc_h(3KB)
----DGL_String.pas(2KB)
----Map.inc_pas(6KB)
----Algorithms.inc_h(3KB)
----DGL.inc_h(1KB)
----_DGLMap_String_Integer.pas(2KB)
----HashMap.inc_pas(7KB)
----_Algorithms_Base_Private.inc_pas(23KB)
----DGL_WideString.pas(2KB)
----_DGL_String_IntegerRecord.pas(3KB)
----DGL_Boolean.pas(2KB)
----DGL_WideStringCaseInsensitive.pas(3KB)
----_HashTable.inc_h(12KB)
----_DGL_Object.pas(4KB)
----HashMap.inc_h(7KB)
----DGL_Integer.pas(2KB)
----Map.inc_h(6KB)
----DGL_StringCaseInsensitive.pas(3KB)