Appends an entry to the work list.
Appends an entry to the work list.
The entry.
The updated work list.
Appends another WorkList to this WorkList.
Appends another WorkList to this WorkList.
The other WorkList
This WorkList
Tries to process each entry using the processing function.
Tries to process each entry using the processing function. Stops at the first entry processing succeeds. If the entry is not permanent, the entry is removed.
The processing function, returns true if processing succeeds.
true if an entry has been processed, false if no entries are processed successfully.
Removes an entry from the work list
Removes an entry from the work list
The entry.
True if the entry is removed, false if the entry is not found.
Removes all entries from this WorkList
Removes all entries from this WorkList
True if at least one entry is removed. False if none is removed.
Fast, small, and dirty implementation of a linked list that removes transient work entries once they are processed. The list is not thread safe! However it is expected to be reentrant. This means a processing function can add/remove entries from the list while processing. Most important, a processing function can remove its own entry from the list. The first remove must return true and any subsequent removes must return false.
The type of the item