Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. LibWapcaplet - a string internment library
  2. ==========================================
  3.  
  4. Overview
  5. --------
  6.  
  7. LibWapcaplet provides a reference counted string internment system
  8. designed to store small strings and allow rapid comparison of them in
  9. terms of equality. It supports a caseless comparison where it will
  10. automatically intern a lowercased variant of the string and use that
  11. for comparison if needed.
  12.  
  13. Rationale
  14. ---------
  15.  
  16. Prior to LibWapcaplet, LibParserUtils contained a dictionary and hash
  17. implementation along with a red-black tree implementation
  18. internally. These three things were then used by client applications
  19. and libraries such as LibCSS. However, the code was deemed to be
  20. inefficient and the features in the wrong library. The behaviour
  21. required of the client libraries was therefore split out so that
  22. internment would still be able to be shared between different client
  23. libraries in the same application. (E.g. LibCSS and Hubbub)
  24.  
  25. For those interested, The name 'Wapcaplet' is from the Monty Python
  26. sketch in which Mr Simpson (who is not French) attempts to sell
  27. 122,000 miles of string which was unfortunately cut up into 3 inch
  28. lengths, and Adrian Wapcaplet comes up with the idea of "Simpson's
  29. individual emperor stringettes - Just the right length!"
  30.  
  31. Requirements
  32. ------------
  33.  
  34. To compile LibWapcaplet you need:
  35.  
  36.  * GNU Make 3.81 or better
  37.  * A version of GCC capable of -MMD -MF (unless you change the build
  38.    system)
  39.  
  40. To compile the test suite you need:
  41.  
  42.  * Check v0.9.5 or better.
  43.  
  44. Compilation
  45. -----------
  46.  
  47. To build LibWapcaplet in release mode, type 'make'. To build it in
  48. debug mode type 'make BUILD=debug'.  To install, run 'make
  49. install'. If you wish to install LibWapcaplet into somewhere other
  50. than /usr/local/ then add PREFIX=/path/to/place to the installation
  51. make command.
  52.  
  53. Verification
  54. ------------
  55.  
  56. To build and run the tests, run 'make test'.
  57.  
  58. In release mode, fewer tests will be run as the assert() calls will be
  59. elided.
  60.  
  61. API documentation
  62. -----------------
  63.  
  64. For API documentation see include/libwapcaplet/libwapcaplet.h
  65.  
  66.