Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 
 
 

121 строка
5.0 KiB

  1. /* GLIB - Library of useful routines for C programming
  2. * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
  3. *
  4. * This library is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation; either
  7. * version 2 of the License, or (at your option) any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. * Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public
  15. * License along with this library; if not, write to the
  16. * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  17. * Boston, MA 02111-1307, USA.
  18. */
  19. /*
  20. * Modified by the GLib Team and others 1997-2000. See the AUTHORS
  21. * file for a list of people on the GLib Team. See the ChangeLog
  22. * files for a list of changes. These files are distributed with
  23. * GLib at ftp://ftp.gtk.org/pub/gtk/.
  24. */
  25. #if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
  26. #error "Only <glib.h> can be included directly."
  27. #endif
  28. #ifndef __G_LIST_H__
  29. #define __G_LIST_H__
  30. #include <glib/gmem.h>
  31. G_BEGIN_DECLS
  32. typedef struct _GList GList;
  33. struct _GList
  34. {
  35. gpointer data;
  36. GList *next;
  37. GList *prev;
  38. };
  39. /* Doubly linked lists
  40. */
  41. GList* g_list_alloc (void) G_GNUC_WARN_UNUSED_RESULT;
  42. void g_list_free (GList *list);
  43. void g_list_free_1 (GList *list);
  44. #define g_list_free1 g_list_free_1
  45. GList* g_list_append (GList *list,
  46. gpointer data) G_GNUC_WARN_UNUSED_RESULT;
  47. GList* g_list_prepend (GList *list,
  48. gpointer data) G_GNUC_WARN_UNUSED_RESULT;
  49. GList* g_list_insert (GList *list,
  50. gpointer data,
  51. gint position) G_GNUC_WARN_UNUSED_RESULT;
  52. GList* g_list_insert_sorted (GList *list,
  53. gpointer data,
  54. GCompareFunc func) G_GNUC_WARN_UNUSED_RESULT;
  55. GList* g_list_insert_sorted_with_data (GList *list,
  56. gpointer data,
  57. GCompareDataFunc func,
  58. gpointer user_data) G_GNUC_WARN_UNUSED_RESULT;
  59. GList* g_list_insert_before (GList *list,
  60. GList *sibling,
  61. gpointer data) G_GNUC_WARN_UNUSED_RESULT;
  62. GList* g_list_concat (GList *list1,
  63. GList *list2) G_GNUC_WARN_UNUSED_RESULT;
  64. GList* g_list_remove (GList *list,
  65. gconstpointer data) G_GNUC_WARN_UNUSED_RESULT;
  66. GList* g_list_remove_all (GList *list,
  67. gconstpointer data) G_GNUC_WARN_UNUSED_RESULT;
  68. GList* g_list_remove_link (GList *list,
  69. GList *llink) G_GNUC_WARN_UNUSED_RESULT;
  70. GList* g_list_delete_link (GList *list,
  71. GList *link_) G_GNUC_WARN_UNUSED_RESULT;
  72. GList* g_list_reverse (GList *list) G_GNUC_WARN_UNUSED_RESULT;
  73. GList* g_list_copy (GList *list) G_GNUC_WARN_UNUSED_RESULT;
  74. GList* g_list_nth (GList *list,
  75. guint n);
  76. GList* g_list_nth_prev (GList *list,
  77. guint n);
  78. GList* g_list_find (GList *list,
  79. gconstpointer data);
  80. GList* g_list_find_custom (GList *list,
  81. gconstpointer data,
  82. GCompareFunc func);
  83. gint g_list_position (GList *list,
  84. GList *llink);
  85. gint g_list_index (GList *list,
  86. gconstpointer data);
  87. GList* g_list_last (GList *list);
  88. GList* g_list_first (GList *list);
  89. guint g_list_length (GList *list);
  90. void g_list_foreach (GList *list,
  91. GFunc func,
  92. gpointer user_data);
  93. GList* g_list_sort (GList *list,
  94. GCompareFunc compare_func) G_GNUC_WARN_UNUSED_RESULT;
  95. GList* g_list_sort_with_data (GList *list,
  96. GCompareDataFunc compare_func,
  97. gpointer user_data) G_GNUC_WARN_UNUSED_RESULT;
  98. gpointer g_list_nth_data (GList *list,
  99. guint n);
  100. #define g_list_previous(list) ((list) ? (((GList *)(list))->prev) : NULL)
  101. #define g_list_next(list) ((list) ? (((GList *)(list))->next) : NULL)
  102. #ifndef G_DISABLE_DEPRECATED
  103. void g_list_push_allocator (gpointer allocator);
  104. void g_list_pop_allocator (void);
  105. #endif
  106. G_END_DECLS
  107. #endif /* __G_LIST_H__ */