open source driving agent
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

158 lines
6.2 KiB

<class name = "zlist" state = "stable">
<!--
Copyright (c) the Contributors as noted in the AUTHORS file.
This file is part of CZMQ, the high-level C binding for 0MQ:
http://czmq.zeromq.org.
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
simple generic list container
<callback_type name = "compare_fn">
Comparison function e.g. for sorting and removing.
<argument name = "item1" type = "anything" />
<argument name = "item2" type = "anything" />
<return type = "integer" />
</callback_type>
<callback_type name = "free_fn">
Callback function for zlist_freefn method
<argument name = "data" type = "anything" />
</callback_type>
<constructor>
Create a new list container
</constructor>
<destructor>
Destroy a list container
</destructor>
<method name = "first">
Return the item at the head of list. If the list is empty, returns NULL.
Leaves cursor pointing at the head item, or NULL if the list is empty.
<return type = "anything" />
</method>
<method name = "next">
Return the next item. If the list is empty, returns NULL. To move to
the start of the list call zlist_first (). Advances the cursor.
<return type = "anything" />
</method>
<method name = "last">
Return the item at the tail of list. If the list is empty, returns NULL.
Leaves cursor pointing at the tail item, or NULL if the list is empty.
<return type = "anything" />
</method>
<method name = "head">
Return first item in the list, or null, leaves the cursor
<return type = "anything" />
</method>
<method name = "tail">
Return last item in the list, or null, leaves the cursor
<return type = "anything" />
</method>
<method name = "item">
Return the current item of list. If the list is empty, returns NULL.
Leaves cursor pointing at the current item, or NULL if the list is empty.
<return type = "anything" />
</method>
<method name = "append">
Append an item to the end of the list, return 0 if OK or -1 if this
failed for some reason (out of memory). Note that if a duplicator has
been set, this method will also duplicate the item.
<argument name = "item" type = "anything" />
<return type = "integer" />
</method>
<method name = "push">
Push an item to the start of the list, return 0 if OK or -1 if this
failed for some reason (out of memory). Note that if a duplicator has
been set, this method will also duplicate the item.
<argument name = "item" type = "anything" />
<return type = "integer" />
</method>
<method name = "pop">
Pop the item off the start of the list, if any
<return type = "anything" />
</method>
<method name = "exists">
Checks if an item already is present. Uses compare method to determine if
items are equal. If the compare method is NULL the check will only compare
pointers. Returns true if item is present else false.
<argument name = "item" type = "anything" />
<return type = "boolean" />
</method>
<method name = "remove">
Remove the specified item from the list if present
<argument name = "item" type = "anything" />
</method>
<method name = "dup">
Make a copy of list. If the list has autofree set, the copied list will
duplicate all items, which must be strings. Otherwise, the list will hold
pointers back to the items in the original list. If list is null, returns
NULL.
<return type = "zlist" fresh = "1" />
</method>
<method name = "purge">
Purge all items from list
</method>
<method name = "size">
Return number of items in the list
<return type = "size" />
</method>
<method name = "sort">
Sort the list. If the compare function is null, sorts the list by
ascending key value using a straight ASCII comparison. If you specify
a compare function, this decides how items are sorted. The sort is not
stable, so may reorder items with the same keys. The algorithm used is
combsort, a compromise between performance and simplicity.
<argument name = "compare" type = "zlist_compare_fn" callback = "1" />
</method>
<method name = "autofree">
Set list for automatic item destruction; item values MUST be strings.
By default a list item refers to a value held elsewhere. When you set
this, each time you append or push a list item, zlist will take a copy
of the string value. Then, when you destroy the list, it will free all
item values automatically. If you use any other technique to allocate
list values, you must free them explicitly before destroying the list.
The usual technique is to pop list items and destroy them, until the
list is empty.
</method>
<method name = "comparefn">
Sets a compare function for this list. The function compares two items.
It returns an integer less than, equal to, or greater than zero if the
first item is found, respectively, to be less than, to match, or be
greater than the second item.
This function is used for sorting, removal and exists checking.
<argument name = "fn" type = "zlist_compare_fn" callback = "1" />
</method>
<method name = "freefn">
Set a free function for the specified list item. When the item is
destroyed, the free function, if any, is called on that item.
Use this when list items are dynamically allocated, to ensure that
you don't have memory leaks. You can pass 'free' or NULL as a free_fn.
Returns the item, or NULL if there is no such item.
<argument name = "item" type = "anything" />
<argument name = "fn" type = "zlist_free_fn" callback = "1" />
<argument name = "at tail" type = "boolean" />
<return type = "anything" />
</method>
</class>