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 12.3 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: UPDATED! 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: UPDATED! arithmetic utilities (random numbers, range checks).
- binary-streams: UPDATED! binary streams for serializing data.
- loop-unrolling: NEW! compile-time loop unrolling using TMP.
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 headers (note). Additionally, you may enclose all the libraries within the mili namespace by #defining MILI_NAMESPACE before including "mili.h".
More Libraries
Coming soon: PendingLibraries
Feel free to ask for more functionalities.
This project belongs to FuDePAN.