Annotation of gpl/axl/src/axl_list.h, revision 1.1
1.1 ! misho 1: /*
! 2: * LibAxl: Another XML library
! 3: * Copyright (C) 2006 Advanced Software Production Line, S.L.
! 4: *
! 5: * This program is free software; you can redistribute it and/or
! 6: * modify it under the terms of the GNU Lesser General Public License
! 7: * as published by the Free Software Foundation; either version 2.1 of
! 8: * the License, or (at your option) any later version.
! 9: *
! 10: * This program is distributed in the hope that it will be useful,
! 11: * but WITHOUT ANY WARRANTY; without even the implied warranty of
! 12: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! 13: * GNU Lesser General Public License for more details.
! 14: *
! 15: * You should have received a copy of the GNU Lesser General Public
! 16: * License along with this program; if not, write to the Free
! 17: * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
! 18: * 02111-1307 USA
! 19: *
! 20: * You may find a copy of the license under this software is released
! 21: * at COPYING file. This is LGPL software: you are welcome to
! 22: * develop proprietary applications using this library without any
! 23: * royalty or fee but returning back any change, improvement or
! 24: * addition in the form of source code, project image, documentation
! 25: * patches, etc.
! 26: *
! 27: * For commercial support on build XML enabled solutions contact us:
! 28: *
! 29: * Postal address:
! 30: * Advanced Software Production Line, S.L.
! 31: * Edificio Alius A, Oficina 102,
! 32: * C/ Antonio Suarez Nº 10,
! 33: * Alcalá de Henares 28802 Madrid
! 34: * Spain
! 35: *
! 36: * Email address:
! 37: * info@aspl.es - http://www.aspl.es/xml
! 38: */
! 39: #ifndef __AXL_LIST_H__
! 40: #define __AXL_LIST_H__
! 41:
! 42: #include <axl_decl.h>
! 43:
! 44: BEGIN_C_DECLS
! 45:
! 46: axlList * axl_list_new (axlEqualFunc are_equal, axlDestroyFunc destroy_data);
! 47:
! 48: void axl_list_set_destroy_func (axlList * list, axlDestroyFunc destroy_func);
! 49:
! 50: int axl_list_equal_string (axlPointer a, axlPointer b);
! 51:
! 52: int axl_list_equal_int (axlPointer a, axlPointer b);
! 53:
! 54: int axl_list_always_return_1 (axlPointer a, axlPointer b);
! 55:
! 56: axlList * axl_list_copy (axlList * list, axlDuplicateFunc func);
! 57:
! 58: void axl_list_add (axlList * list, axlPointer pointer);
! 59:
! 60: void axl_list_add_at (axlList * list, axlPointer pointer, int position);
! 61:
! 62: void axl_list_prepend (axlList * list, axlPointer pointer);
! 63:
! 64: void axl_list_append (axlList * list, axlPointer pointer);
! 65:
! 66: void axl_list_remove (axlList * list, axlPointer pointer);
! 67:
! 68: void axl_list_remove_ptr (axlList * list, axlPointer pointer);
! 69:
! 70: void axl_list_remove_at (axlList * list, int position);
! 71:
! 72: void axl_list_unlink (axlList * list, axlPointer pointer);
! 73:
! 74: void axl_list_unlink_ptr (axlList * list, axlPointer pointer);
! 75:
! 76: void axl_list_unlink_at (axlList * list, int position);
! 77:
! 78: void axl_list_remove_first (axlList * list);
! 79:
! 80: void axl_list_unlink_first (axlList * list);
! 81:
! 82: void axl_list_remove_last (axlList * list);
! 83:
! 84: void axl_list_unlink_last (axlList * list);
! 85:
! 86: axl_bool axl_list_exists (axlList * list, axlPointer pointer);
! 87:
! 88: axl_bool axl_list_exists_at (axlList * list, axlPointer pointer, int position);
! 89:
! 90: axl_bool axl_list_is_empty (axlList * list);
! 91:
! 92: axlPointer axl_list_get_first (axlList * list);
! 93:
! 94: axlPointer axl_list_get_last (axlList * list);
! 95:
! 96: axlPointer axl_list_get_nth (axlList * list, int position);
! 97:
! 98: axlPointer axl_list_lookup (axlList * list, axlLookupFunc func, axlPointer data);
! 99:
! 100: axl_bool axl_list_find_string (axlPointer element, axlPointer data);
! 101:
! 102: int axl_list_length (axlList * list);
! 103:
! 104: void axl_list_free (axlList * list);
! 105:
! 106: /* cursor interface */
! 107: axlListCursor * axl_list_cursor_new (axlList * list);
! 108:
! 109: void axl_list_cursor_first (axlListCursor * cursor);
! 110:
! 111: void axl_list_cursor_last (axlListCursor * cursor);
! 112:
! 113: void axl_list_cursor_next (axlListCursor * cursor);
! 114:
! 115: void axl_list_cursor_previous (axlListCursor * cursor);
! 116:
! 117: axl_bool axl_list_cursor_has_next (axlListCursor * cursor);
! 118:
! 119: axl_bool axl_list_cursor_has_previous (axlListCursor * cursor);
! 120:
! 121: axl_bool axl_list_cursor_has_item (axlListCursor * cursor);
! 122:
! 123: void axl_list_cursor_unlink (axlListCursor * cursor);
! 124:
! 125: void axl_list_cursor_remove (axlListCursor * cursor);
! 126:
! 127: axlPointer axl_list_cursor_get (axlListCursor * cursor);
! 128:
! 129: axlList * axl_list_cursor_list (axlListCursor * cursor);
! 130:
! 131: void axl_list_cursor_free (axlListCursor * cursor);
! 132:
! 133: END_C_DECLS
! 134:
! 135: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>