Mercurial > hg > xemacs-beta
comparison man/lispref/range-tables.texi @ 0:376386a54a3c r19-14
Import from CVS: tag r19-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:45:50 +0200 |
parents | |
children | 576fb035e263 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:376386a54a3c |
---|---|
1 @c -*-texinfo-*- | |
2 @c This is part of the XEmacs Lisp Reference Manual. | |
3 @c Copyright (C) 1996 Ben Wing. | |
4 @c See the file lispref.texi for copying conditions. | |
5 @setfilename ../../info/range-tables.info | |
6 @node Range Tables, Databases, Hash Tables, top | |
7 @chapter Range Tables | |
8 @cindex Range Tables | |
9 | |
10 A range table is a table that efficiently associated values with | |
11 ranges of integers. | |
12 | |
13 Note that range tables have a read syntax, like this: | |
14 | |
15 @example | |
16 #s(range-table data ((-3 2) foo (5 20) bar)) | |
17 @end example | |
18 | |
19 This maps integers in the range (-3, 2) to @code{foo} and integers | |
20 in the range (5, 20) to @code{bar}. | |
21 | |
22 @defun range-table-p object | |
23 Return non-@code{nil} if @var{object} is a range table. | |
24 @end defun | |
25 | |
26 @menu | |
27 * Introduction to Range Tables:: Range tables efficiently map ranges of | |
28 integers to values. | |
29 * Working With Range Tables:: Range table functions. | |
30 @end menu | |
31 | |
32 @node Introduction to Range Tables | |
33 @section Introduction to Range Tables | |
34 | |
35 @defun make-range-table | |
36 Make a new, empty range table. | |
37 @end defun | |
38 | |
39 @defun copy-range-table old-table | |
40 Make a new range table which contains the same values for the same | |
41 ranges as the given table. The values will not themselves be copied. | |
42 @end defun | |
43 | |
44 @node Working With Range Tables | |
45 @section Working With Range Tables | |
46 | |
47 @defun get-range-table pos table &optional default | |
48 This function finds value for position @var{pos} in @var{table}. If | |
49 there is no corresponding value, return @var{default} (defaults to | |
50 @code{nil}). | |
51 @end defun | |
52 | |
53 @defun put-range-table start end val table | |
54 This function sets the value for range (@var{start}, @var{end}) to be | |
55 @var{val} in @var{table}. | |
56 @end defun | |
57 | |
58 @defun remove-range-table start end table | |
59 This function removes the value for range (@var{start}, @var{end}) in | |
60 @var{table}. | |
61 @end defun | |
62 | |
63 @defun clear-range-table table | |
64 This function flushes @var{table}. | |
65 @end defun | |
66 | |
67 @defun map-range-table function table | |
68 This function maps @var{function} over entries in @var{table}, calling | |
69 it with three args, the beginning and end of the range and the | |
70 corresponding value. | |
71 @end defun | |
72 |