-
Notifications
You must be signed in to change notification settings - Fork 1
/
adtsegarray.pas.mcp
60 lines (43 loc) · 1.96 KB
/
adtsegarray.pas.mcp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
(* This file is a part of the PascalAdt library, which provides
commonly used algorithms and data structures for the FPC and Delphi
compilers.
Copyright (C) 2004, 2005 by Lukasz Czajka
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation; either version 2.1 of
the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
02110-1301 USA *)
unit adtsegarray;
{ This unit implements a dynamic low-level segmented array
(TSegArray). It is not intended for normal use except for
implementing higher level data structures. It is used mainly to
implement TSegDequeue and in some time-critical algorithms that need
to use queues (as it is a bit faster than the object-oriented
implementation of queues). }
{ }
{ Note: the distinction between normal, const and var parameters is
important semantically. Normal parameters mean that the pointer
to the array cannot be changed, but the contents of the array can
(and probably will) change. Const parameters mean that both the
array pointer and the contents will not change, and var
parameters imply that both can, and probably will, change. }
interface
uses
adtdarray, adtfunct, adtmem;
&include adtdefs.inc
const
{ The capacity of one segment of a TSegArray. }
saSegmentCapacity = 256;
&_mcp_generic_include(adtsegarray.i)
implementation
uses
adtmsg, adtutils;
&_mcp_generic_include(adtsegarray_impl.i)
end.