Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>

WEEK'S BEST

  • BackTrack 5 R1
  • Wine 1.2.3 / 1.4 RC3
  • Mozilla Firefox 10...
  • Ubuntu 11.04
  • Angry Birds 1.1.2.1
  • Ubuntu 10.04.3 LTS
  • Linux Kernel 3.2.6
  • Ubuntu Manual 10.10
  • Adobe Flash Player...
  • Pidgin 2.10.1
  • Home > Linux > Programming > Libraries

    libHX 3.12

    Download button

    No screenshots available
    Downloads: 1,385  Tell us about an update
    User Rating:
    Rated by:
    Fair (2.6/5)
    15 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Jan Engelhardt | More programs
    GPL / FREE
    December 5th, 2011, 02:41 GMT [view history]
    ROOT / Programming / Libraries

     Read user reviews (0)  Refer to a friend  Subscribe

    libHX description

    A library for common data structures (tree, map, linked list), string operations, configuration-related tasks and more.

    libHX is a library for common data structures (tree, map, linked list), string operations, configuration-related tasks and more.

    - rbtree with key-value pair extension (HXbtree_*)

    Originally created to provide a data structure like Perl's associative arrays. Uses an rbtree as underlying engine for somewhat quick insertion and deletion and small memory footprint for ordered traversals. (Using a hash would have meant to gather all keys first and sort them.)

    - deques (HXdeque_*, HXlist_*, HXclist_*)

    Deques - double-ended queues, essentially a doubly-linked list - are suitable for both providing stack and queue functionality.

    - directory handling (HXdir_*)

    HXdir provides for opendir-readdir-closedir semantics. Windows uses a different kind, so it had to be naturally covered up. On the other hand, Solaris's readdir() implementation is nasty in terms of memory management. HXdir covers up these discrepancies and provides a sane Linux-style readdir.

    Convenience functions mkdir (create all missing parents), rrmdir (rm -Rf) are also available.

    - string formatter with placeholders (HXformat_*)

    HXformat is something in the direction of printf(), but the argument list is not implemented by means of varargs, so is flexible even beyond compile time. You can change the format string - in fact, just let the user configuration provide it - without having to worry about argument evaluation problems. Positional and optional arguments are simply freely choosable.

    - memory containers, auto-sizing string ops (hmc_*)

    At the cost of slightly increased number memory allocations as you work with the buffers, the hmc collection of functions provide scripting-level semantics for strings. Appending to a string is simply hmc_strcat(&s, "123") [cf. $s .= "123"], without having to worry about overflowing a buffer.

    - option parsing (HXoption_*)

    Put blunt, libpopt failed to do some elementary things and there was no maintainer to fix it. Well, it's packaged with rpm which already diverged in all distros.

    < HXoption is table- and callback-based, much like popt.

    - shellconfig parser (HXshconfig_*)

    Parsers shconfig files. Their format is a subset of shell code. Files in /etc/sysconfig are commonly shconfig-style.

    - random number gathering (HXrand_*)

    Conveniently use /dev/urandom when it is available.

    - common string operations
    basename, chomp, dirname, getl(ine), split, strlower/-upper, str*trim, strsep, strsep2, etc.

    What's New in This Release: [ read full changelog ]

    · This version makes many changes to the option parser: passthrough mode was corrected, error handling and POSIX behavior was added, and data structures have been reduced in size.
    · Compilation with clang is now supported.

      


    TAGS:

    data structures | linked list | string operations | tree | map | strings



    HTML code for linking to this page:


    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM