File: dict_iter_rewind.xml

package info (click to toggle)
virtuoso-opensource 7.2.5.1%2Bdfsg1-0.3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 285,240 kB
  • sloc: ansic: 641,220; sql: 490,413; xml: 269,570; java: 83,893; javascript: 79,900; cpp: 36,927; sh: 31,653; cs: 25,702; php: 12,690; yacc: 10,227; lex: 7,601; makefile: 7,129; jsp: 4,523; awk: 1,697; perl: 1,013; ruby: 1,003; python: 326
file content (95 lines) | stat: -rw-r--r-- 4,657 bytes parent folder | download | duplicates (2)
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
  
  This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
  project.
  
  Copyright (C) 1998-2018 OpenLink Software
  
  This project is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published by the
  Free Software Foundation; only version 2 of the License, dated June 1991.
  
  This program 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
  General Public License for more details.
  
  You should have received a copy of the GNU General Public License along
  with this program; if not, write to the Free Software Foundation, Inc.,
  51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

  : template.sh,v 1.6 2009/04/14 11:39:26 source Exp $
-->
<refentry id="fn_dict_iter_rewind">
  <refmeta>
    <refentrytitle>dict_iter_rewind</refentrytitle>
    <refmiscinfo>dict</refmiscinfo>
  </refmeta>
  <refnamediv>
    <refname>dict_iter_rewind</refname>
    <refpurpose>Resets the iterator before fetching keys and values by dict_iter_next()</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
    <funcsynopsis id="fsyn_dict_iter_rewind">
      <funcprototype id="fproto_dict_iter_rewind">
        <funcdef><function>dict_iter_rewind</function></funcdef>
	<paramdef>inout <parameter>dict</parameter> dictionary</paramdef>
      </funcprototype>
    </funcsynopsis>
  </refsynopsisdiv>
  <refsect1 id="desc_dict_iter_rewind">
    <title>Description</title>
    <para>The dictionary is always passed by reference, due to its (potentialy big) size.
The reference variable contains not only pointer to the whole dictionary but also a forward-only iterator (a "cursor") that can be used to retrieve items of the dictionary one after the other.
The function sets the iterator to the very first item of the dictionary.</para>
  </refsect1>
  <refsect1 id="params_dict_iter_rewind">
    <title>Parameters</title>
    <refsect2><title>dict</title>
      <para>The reference to a dictionary to use as an iterator</para>
    </refsect2>
  </refsect1>
  <refsect1 id="ret_dict_iter_rewind"><title>Return Types</title>
    <para>The function returns an integer that is the expected number of items in the dictionary; the value may not match to the number of items retrieved later by dict_iter_next() if a dictionary is edited by some thread.</para>
  </refsect1>
<!--  <refsect1 id="errors_dict_iter_rewind">
    <title>Errors</title>
    <para>This function can generate the following errors:</para>
    <errorcode></errorcode>
  </refsect1> -->
  <refsect1 id="examples_dict_iter_rewind">
    <title>Example</title>
    <example id="ex_dict_iter_rewind"><title>Simplest read throughout the dictionary.</title>
      <para>The procedure creates a dictionary, puts couple of items into it and then print them to the server's console</para>
      <screen><![CDATA[
create function dict_iterator_test ()
{
  declare dict, dkey, dvalue any;
  dict := dict_new (10);
  dict_put (dict, 'a', 1); dict_put (dict, 'b', 2);
  dict_iter_rewind (dict);
  while (dict_iter_next (dict, dkey, dvalue))
    dbg_obj_princ (' key is ' dkey, ', corresponding value is ', dvalue);
}
]]>
</screen>
    </example>
  </refsect1>
  <refsect1 id="seealso_dict_iter_rewind">
    <title>See Also</title>
    <para><link linkend="fn_dict_new"><function>dict_new</function></link></para>
    <para><link linkend="fn_dict_zap"><function>dict_zap</function></link></para>
    <para><link linkend="fn_dict_put"><function>dict_put</function></link></para>
    <para><link linkend="fn_dict_get"><function>dict_get</function></link></para>
    <para><link linkend="fn_dict_remove"><function>dict_remove</function></link></para>
    <para><link linkend="fn_dict_inc_or_put"><function>dict_inc_or_put</function></link></para>
    <para><link linkend="fn_dict_dec_or_remove"><function>dict_dec_or_remove</function></link></para>
    <para><link linkend="fn_dict_size"><function>dict_size</function></link></para>
    <para><link linkend="fn_dict_duplicate"><function>dict_duplicate</function></link></para>
    <para><link linkend="fn_dict_to_vector"><function>dict_to_vector</function></link></para>
    <para><link linkend="fn_dict_list_keys"><function>dict_list_keys</function></link></para>
    <para><link linkend="fn_dict_destructive_list_rnd_keys"><function>dict_destructive_list_rnd_keys</function></link></para>
    <para><link linkend="fn_dict_iter_next"><function>dict_iter_next</function></link></para>
  </refsect1>
</refentry>