Files
mlib/doc/API.txt
T

40 lines
2.1 KiB
Plaintext

API incompatibility
-------------------
V0.1.*: * First formal version of API
V0.2.*: * worker_start takes a 'worker_t' as an additional parameter
(This enables to perform a wait-on-event instead of a busy waiting).
* worker_spawn doesn't take into a 'worker_t' anymore.
* worker_init takes an int as numWorker instead of an unsigned int.
* RBTREE pop method has been renamed into _pop_at (as it takes a key parameter).
* SNAPSHOT_DEF has been removed. use SNAPSHOT_SPSC_DEF
* array's _set_at2 has been replaced by array's _get_at.
The interface is similar to dict _get_at, making the API cleaner and more generic.
_set_at2(a,i,x) ==> set(*_get_at(a,i),x)
* DICT_SET:
- Rename method _set_at as _push
Since there is no key, it is a push method, not a _set_at method.
- Rename DICT_SET_DEF2 as DICT_SET_DEF
since it only requires one argument.
- The method _ref returns a pointer to the data,
instead of a pointer to a single tuple like other DICT_SET interface.
- The format of the output to character string as changed.
* ALGO:
- Rename _contains as _contain_p
since it is a predicate '_p' and it shall be in infinitive form.
- Rename _map as _for_each (Standard name).
* M_PRINT_ARG & M_FPRINT_ARG don't put a final semicolon at the end
of their expansion anymore (cleaner and no longer needed with the
new available tools).
* For the TUPLE and the VARIANT
change name of _get_ ## field into _get_at_ ## fields
Since there is a name collision with other methods
if a field is named 'str'.
* Rename method _remove into _erase for dictionary & B+TREE (adding a compatibility layer) for API uniformization.
The provided _remove doesn't use an iterator but a 'key', incompatible with the one of array or list.
But is like the one provided by the priority queue.
V0.3.*: * Remove B+TREE _remove method as it has been deprecated (use _erase instead)
* Remove DICT _remove method as it has been deprecated (use _erase instead)