-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: Merge utlist with clist/list #6209
Comments
Well, for me utlist was a foreign code macro magic black box, that's why I started with clist initially. I actually don't thing that utlist.h would make it through our current review standards. Some points:
|
Though it is hard to the eye to read the macro magic (especially, since |
Agreed. I counted that as a drawback with 'non-RIOT coding style' |
I don't intend to merge those two (that's why I took care to always mention them as a pair ;-)) |
Yeah, well, now that you say it. I thought they used a quantum walk algorithm to traverse the lists. |
I would tend to keep both and maybe improve the documentation. Saying that, e.g., core/list is an optimized implementation that doesn't implement all features. |
I would rather state that list/clist should be used unless it is missing a feature. |
as clist is singly-linked list, and
|
👍 |
I consider clist the singly-linked list implementation of choice (over list), even if the circular nature is not needed. It can be used wherever a linked list is needed, but has a much cleaner API and more features. list is only for the hottest code paths. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions. |
I think we still should continue to discuss this. As for |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions. |
#6209 (comment) still applies. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions. |
GNRC has moved away from utlist now. Maybe we should just deprecate and drop utlist? |
Currently we have two separate linked list implementations:
clist
/list
: our native list implememations incore
implementing singly-linked linear (list
) and circular lists (clist
).utlist
: imported linked-list implementation insys
implementing singly-linked linear lists (LL_
and doubly-linked linear (DL_
) and circular lists (CDL_
).Both implementations have their respective benefits and drawbacks:
I see benefits in keeping both, but the risk of code duplication exists (and in case of singly-linked lists is already present).
The text was updated successfully, but these errors were encountered: