My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads
Links

Abstract

MiLi is a collection of useful C++ libraries, composed only by headers. No installation, no makefile, no complications: just KISS. Simple solutions for simple problems.

Libraries

MiLi version 16 includes the following libraries (one header file length each):

  • bitwise-enums: library for type-safe bitwise operations based on enums.
  • pre-pos caller: library for wrapping object methods calls.
  • promotion-disable: library for disabling undesired C++ type conversions.
  • delete-container: deletes the elements of an STL container filled with pointers.
  • factory: provides a simple machinery to create subclasses from a given key.
  • invariants: provides invariants for function arguments and classes.
  • type-mapper: simple type mapping declarations.
  • properties: simple properties implementation.
  • string-utils: various string utilities, such as case-insensitive strings and number/text conversions.
  • container-utils: UPDATED! generic STL container utilities, optimized for specific containers. (formerly find-utils).
  • stream-utils: i/o stream utilities for reading/writing formatted data (such as CSV).
  • arith-utils: FIXED! arithmetic utilities (random numbers, range checks).
  • binary-streams: binary streams for serializing data.
  • loop-unrolling: compile-time loop unrolling using TMP.
  • compile-assert: compile-time (a.k.a. static) assertions.
  • template-info: template parameters information (a la typeinfo).
  • fast-list: very optimized list for high performance.
  • ranker: UPDATED! ranker library.
  • coroutines: simple and os-independant coroutines library.
  • variants-set: NEW! a simple set of heterogenic types library.

NOTE: current package missed the install.sh script. Please get it from here or from the svn repository.

Donations

MiLi is maintained at FuDePAN, an NGO/NPO for bioinformatics research. If you find MiLi useful, please consider to donate so we can keep up the research and maintenance.

Usage

Just #include "mili.h". You can disable then inclusion of individual libraries by adding a specific #define (refer to README), or just include specific headers (note). Additionally, you may enclose all the libraries within the mili namespace by #defining MILI_NAMESPACE before including "mili.h".

Next Release

MiLi version 17.0 is coming soon, with a generic pow() function implemented with TMP for best performance (want to try it? Checkout the svn repository). ATTENTION GCC 4.5 USERS: Use the SVN version, since the current released one doesn't compile.

See CHANGELOG for further details.

More Libraries

Coming soon: PendingLibraries

Feel free to ask for more functionalities.

Need it for commercial use? Contact the email address contained in the README.

Contributing

See HowToContribute.


This project belongs to FuDePAN.

Powered by Google Project Hosting