mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-06 01:16:17 +01:00
ee3d2a3d4d
Fri Jan 22 02:06:10 EST 1999 Jeff Garzik <jgarzik@pobox.com> * gstack.c: New stack ADT implementation. * glib.h: Add g_stack function prototypes and macros.
62 lines
1.6 KiB
Plaintext
62 lines
1.6 KiB
Plaintext
TODO for GLib 1.3:
|
|
|
|
* alloca support, with replacement if native alloca not available
|
|
- check out gettext's implementation
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
Ideas for GLib 1.3:
|
|
|
|
(jgarzik)
|
|
* wrap i18n routines on various platforms; wrap gettext libintl as a
|
|
fallback
|
|
|
|
* benchmark garbage-collecting malloc (not for inclusion into GLib, just
|
|
general knowledge)
|
|
|
|
* coneill's optimized MD5 checksum routine, maybe some other checksums
|
|
too, encapsulated in a GChecksum. Allow choice between a few built-in
|
|
checksum functions, MD5, CRC, ?, or a user-specified checksum
|
|
function pointer.
|
|
|
|
* New ADTs: trie, skip list, red-black tree, queue (below), stack (below)
|
|
|
|
* decent random numbers (really a portability thing)
|
|
|
|
* 'make check' tests one per module, plus bug report regression tests
|
|
and such
|
|
|
|
* primitive memory leak checking by g_malloc, g_free
|
|
|
|
* alloca-based convenience macros, counterparts to:
|
|
g_new, g_new0, g_strdup, g_strndup, g_strconcat, ???
|
|
|
|
* GStack, opaque ADT with interface:
|
|
|
|
stack = g_stack_new ();
|
|
count = g_stack_size (stack);
|
|
|
|
g_stack_push (stack, data);
|
|
data = g_stack_pop (stack);
|
|
|
|
slist = g_stack_get_list (stack);
|
|
|
|
* GQueue, opaque ADT with interface:
|
|
|
|
q = g_queue_new ();
|
|
count = g_queue_size (q);
|
|
|
|
q_queue_push_front (q, data);
|
|
q_queue_push_back (q, data);
|
|
data = q_queue_pop_front (q);
|
|
data = q_queue_pop_back (q);
|
|
#define q_queue_push q_queue_push_back
|
|
#define q_queue_pop q_queue_pop_front
|
|
|
|
list = g_queue_get_list (q);
|
|
#define g_queue_get_front g_queue_get_list
|
|
list_end = g_queue_get_back (q);
|
|
|