1 /*
2  * Distributed under the Boost Software License, Version 1.0.
3  *    (See accompanying file LICENSE_1_0.txt or copy at
4  *          http://www.boost.org/LICENSE_1_0.txt)
5  */
6 module glib.gtrashstack;
7 
8 
9 // #include <glib/gutils.h>
10 //
11 // G_BEGIN_DECLS
12 //
13 // typedef struct _GTrashStack GTrashStack;
14 // struct _GTrashStack
15 // {
16 //   GTrashStack *next;
17 // };
18 //
19 // G_INLINE_FUNC void      g_trash_stack_push   (GTrashStack **stack_p,
20 //                                               gpointer      data_p);
21 // G_INLINE_FUNC gpointer  g_trash_stack_pop    (GTrashStack **stack_p);
22 // G_INLINE_FUNC gpointer  g_trash_stack_peek   (GTrashStack **stack_p);
23 // G_INLINE_FUNC guint     g_trash_stack_height (GTrashStack **stack_p);
24 //
25 // #if defined (G_CAN_INLINE) || defined (__G_TRASH_STACK_C__)
26 //
27 // G_INLINE_FUNC void
28 // g_trash_stack_push (GTrashStack **stack_p,
29 //                     gpointer      data_p)
30 // {
31 //   GTrashStack *data = (GTrashStack *) data_p;
32 //
33 //   data->next = *stack_p;
34 //   *stack_p = data;
35 // }
36 // G_INLINE_FUNC gpointer
37 // g_trash_stack_pop (GTrashStack **stack_p)
38 // {
39 //   GTrashStack *data;
40 //
41 //   data = *stack_p;
42 //   if (data)
43 //     {
44 //       *stack_p = data->next;
45 //       /* NULLify private pointer here, most platforms store NULL as
46 //        * subsequent 0 bytes
47 //        */
48 //       data->next = NULL;
49 //     }
50 //
51 //   return data;
52 // }
53 // G_INLINE_FUNC gpointer
54 // g_trash_stack_peek (GTrashStack **stack_p)
55 // {
56 //   GTrashStack *data;
57 //
58 //   data = *stack_p;
59 //
60 //   return data;
61 // }
62 // G_INLINE_FUNC guint
63 // g_trash_stack_height (GTrashStack **stack_p)
64 // {
65 //   GTrashStack *data;
66 //   guint i = 0;
67 //
68 //   for (data = *stack_p; data; data = data->next)
69 //     i++;
70 //
71 //   return i;
72 // }
73 //
74 // #endif  /* G_CAN_INLINE || __G_TRASH_STACK_C__ */
75 //
76 // G_END_DECLS
77 //