|
dxd - dynax driver framework 3.0.0d222
cross platform open source driver development framework
|
entries a real time walk visits without a lock, in user mode and the kernel alike More...
#include <dx_shared_lockfree_list.h>
Public Member Functions | |
| template<typename f_t> | |
| void | each (f_t &&f) |
| the walk: every entry in, each visited once | |
| list ()=default | |
| list (const list &)=delete | |
| void | pop (entry_t &entry) |
| a writer takes an entry out: it is the writer's again on return | |
| bool | push (entry_t &entry) |
| a writer puts an entry in; false where the memory for a larger table is not there | |
| ~list () | |
entries a real time walk visits without a lock, in user mode and the kernel alike
A walk never waits: it counts itself in and out. The writers are serialized by the list's owner and never walk: an entry goes in behind dx::fence::release(), a full table is replaced by one twice its size, and an entry taken out, or an outgrown table, is the writer's again once no walk is inside - the writer waits for that, never longer than a walk. The entries are not owned.
|
default |
|
delete |
|
inline |
|
inline |
the walk: every entry in, each visited once
|
inline |
a writer takes an entry out: it is the writer's again on return
|
inline |
a writer puts an entry in; false where the memory for a larger table is not there
| (c) copyright 2009 dynamic acoustics e.U. | generated on |