mirror of
https://github.com/D4C1-Labs/Flipper-ARF.git
synced 2026-03-30 22:35:41 +00:00
76 lines
4.7 KiB
Plaintext
76 lines
4.7 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)
|
|
* Make _it_to_p method of B+TREE / RB-TREE as deprecated (uses _it_until_p instead ).
|
|
* Deprecated buffer options BUFFER_BLOCKING* and BUFFER_UNBLOCKING*
|
|
as the _push_blocking and _pop_blocking functions can do the same and are more versatil.
|
|
* Iteration over the items of a dictionnary/tree returns const iterators for access through
|
|
OPLIST (impact: algorithm & M_EACH) as the IT_REF operator is no longer exported.
|
|
The _it_ref method is still defined and can be used, so you can still modify the values
|
|
but it won't be automatically used anymore (as the keys CANNOT be modified).
|
|
(Previously it generates incorrect algorithm when used with m-dict).
|
|
|
|
V0.4.*: * The order of a list initialized using M_LET is reversed
|
|
to match what is done for ARRAY (and the C++ forward_list).
|
|
* Rename M_SKIP, M_KEEP & M_MID into M_SKIP_ARGS, M_KEEP_ARGS & M_MID_ARGS
|
|
due to conflict with glibc malloc.h (that defines M_KEEP for compatibility).
|
|
* Method write_string of m_serial expects a new argument (number of characters).
|
|
* Method _init_set2 of m-i-shared is removed.
|
|
* Operator _it_insert updates it_insertion iterator to reference the inserted element.
|
|
* Dereference Type of an iterator of a dict / B+Tree is suffixed by _itref_t instead of _type_t.
|
|
* Rename TUPLE _init_set2 in _init_emplace & _set2 in _emplace.
|
|
* Rename Priority Queue method _update_further in _update.
|
|
|
|
V0.5.*: * M_INVERT is renamed into M_REVERSE to be more coherent with the REVERSE operator.
|
|
M_INVERT is marked as obsolete.
|
|
* Remove _it_to_p method of B+TREE / RB-TREE as it has been deprecated.
|
|
* Remove ALGO_INIT_VA & M_ALG0_LET_INIT_VAI of m-algo as it has been deprecated (Use of M_LET instead).
|
|
* Some Internal name of user modifiable macros have been renamed to be properly
|
|
customizable by the user.
|
|
* Rename M_HASH_SEED into M_USE_HASH_SEED (as it is a user macro).
|
|
* M_LET: for initialization of variable with arguments, if there is only one argument,
|
|
it will default to use INIT_SET instead of INIT_WITH.
|
|
==> Encapsulate the argument between () to force use of INIT_WITH.
|
|
* Remove of UPDATE operator. Use of SET for RBTREE or ADD for DICT instead.
|
|
* Make the _clean suffix for reseting the container to empty deprecated. Use new _reset suffix instead.
|
|
* Make the _get_at suffix for always getting a value deprecated. Use new _safe_get suffix instead.
|
|
* Rename CLEAN operator in RESET operator.
|
|
* Rename GET_SET_KEY operator in SAFE_GET_KEY operator.
|
|
|