`ABL' is a basic flexible abstract list library defined using C preprocessor. It allows you to define linked lists of arbitrary types very easily. You also can use it as stacks and queues. You can easily define complicated types like list of lists etc.
Be the first to post a text review of ABL. Rate and review a project by clicking thumbs up or thumbs down in the right column.
New functions added: add_tail, create_tail, get_tail, concat. ABL now is a proper and effective queue as well as a list or stack. Functions foreach, findif, deleteif were changed. They accept parameters for testing function and can start acting from some arbitrary element, not only from the head of the list. Function findif has a side effect: it move point to the found element. More examples in documentation. Most important is recursion demonstration example. Many improvements to the code and documentation.
A serious misprint was fixed. The bug did not allowed to compile the library on any compiler but gcc.
1. New functions: sort, combsort, reproduce, reduce 2. Deleted functions: get_car (use get_head) 3. Changed function names: reverse (instead of nreverse) 4. Documentation is improved 5. Release is under LGPLv3 or later (was v2 or later).
ABL, a flexible abstract list library is now version 1.0. ABL can be used to define linked lists of arbitrary type elements in C programs. Besides standard set of functions for lists, ABL includes basic high order functions for searching, filtering, mapping, and effective reverse. The library is implemented using (or abusing) C preprocessor rather than usual approach with void pointers. The main difference between these approaches is that ABL is more designed as an extension to the language rather than a library. In our opinion, it allows more abstract definitions for a user and more flexible usage similar that is provided by template libraries in C++. ABL also defines and was inspired by Lisp lists which maybe more convenient for Lisp/Scheme programmers to use. The ABL can be included in any other libraries or programs that are compatible with LGPL by just copying a single header file. ABL is free software distributed under GNU LGPL condition. It has an extended documentation in texinfo format and autotools installer.
* car is no more a pointer (after discussion on http://linux.org.ru). This changes how list elements are stored in memory. * Function add_head_c is deleted! * Function create_head_c is deleted. Function create_head was modify to unify both creation methods. * Make/destructor are renamed to make/destroy * Major revision of the documentation. All examples and tests are redone. * ABL logo is created. ABL is now not ``Atoku's Basic List'' but rather ``Abstract Basic List''. Ha-ha!
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?