Hash and List examples added

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9413 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2006-10-05 21:14:49 +00:00
commit 36a5852252

View file

@ -423,13 +423,112 @@ operations that allow them to be used interchangeably with DOH file objects.
<h3>2.6 Lists</h3> <h3>2.6 Lists</h3>
</a> </a>
[ TODO ] <p>
Example usage of lists:
</p>
<blockquote>
<pre>
/* Create and populate */
List *list = NewList();
Append(list, NewString("listval1"));
Append(list, NewString("listval2"));
Append(list, NewString("listval3"));
Append(list, NewString("listval4"));
Append(list, NewString("listval5"));
/* Size */
Printf(stdout, "list len: %d\n", Len(list));
/* Delete */
Delitem(list, 3);
/* Replace */
Setitem(list, 0, NewString("newlistval1"));
/* Get */
String *item = Getitem(list,1);
if (item)
Printf(stdout, "get: %s\n", item);
else
Printf(stdout, "get: [non-existent]\n");
/* Iterate through the container */
int len = Len(list);
for (int i=0; i&lt;len; i++) {
String *item = Getitem(list,i);
Printf(stdout, "list item: %s\n", item);
}
</blockquote>
</pre>
<p>
Resulting output:
</p>
<blockquote>
<pre>
hash len: 5
get: hashval2
hash item: hashval5 [h5]
hash item: hashval1 [h1]
hash item: hashval2 [h2]
hash item: hashval3 [h3]
</pre>
</blockquote>
<a name="2.7" href="#i2.7"> <a name="2.7" href="#i2.7">
<h3>2.7 Hash tables </h3> <h3>2.7 Hash tables </h3>
</a> </a>
[ TODO ] <p>
Example usage of hash tables:
</p>
<blockquote>
<pre>
/* Create and populate */
Hash *hash = NewHash();
Setattr(hash, "h1", NewString("hashval1"));
Setattr(hash, "h2", NewString("hashval2"));
Setattr(hash, "h3", NewString("hashval3"));
Setattr(hash, "h4", NewString("hashval4"));
Setattr(hash, "h5", NewString("hashval5"));
/* Size */
Printf(stdout, "hash len: %d\n", Len(hash));
/* Delete */
Delattr(hash, "h4");
/* Get */
String *item = Getattr(hash, "h2");
if (item)
Printf(stdout, "get: %s\n", item);
else
Printf(stdout, "get: [non-existent]\n");
/* Iterate through the container */
Iterator it;
for (it = First(hash); it.key; it= Next(it))
Printf(stdout, "hash item: %s [%s]\n", (it.item), (it.key));
</pre>
</blockquote>
<p>
Resulting output:
</p>
<blockquote>
<pre>
list len: 5
get: listval2
list item: newlistval1
list item: listval2
list item: listval3
list item: listval5
</pre>
</blockquote>
<a name="2.8" href="#i2.8"> <a name="2.8" href="#i2.8">
<h3>2.8 Files </h3> <h3>2.8 Files </h3>
@ -453,8 +552,6 @@ operations that allow them to be used interchangeably with DOH file objects.
<h2>3. Types and Typemaps</h2> <h2>3. Types and Typemaps</h2>
</a> </a>
Revised: Dave Beazley (8/14/00)
<p> <p>
The representation and manipulation of types is currently in the The representation and manipulation of types is currently in the
process of being reorganized and (hopefully) simplified. The process of being reorganized and (hopefully) simplified. The