Max Kellermann
1fb858e2d7
util/IntrusiveList: add struct IntrusiveListMemberHookTraits
2022-06-29 17:28:16 +02:00
Max Kellermann
5348a446a7
util/IntrusiveList: move various static functions to struct IntrusiveListBaseHook
2022-06-29 17:27:40 +02:00
Max Kellermann
e8e33d5fc4
util/IntrusiveList: add missing ToHook() calls
2022-06-29 17:27:37 +02:00
Max Kellermann
c28580745b
util/IntrusiveList: move struct HookDetection to top-level
2022-06-29 17:24:08 +02:00
Max Kellermann
0ed24f3a05
util/IntrusiveList: disallow copying IntrusiveListHook
2021-12-03 13:50:05 +01:00
Max Kellermann
8d679e7e00
util/IntrusiveList: add IntrusiveList::swap()
2021-10-13 11:04:42 +02:00
Max Kellermann
2b30ac2351
util/IntrusiveList: add another missing ToNode() call
2021-10-13 11:04:21 +02:00
Max Kellermann
1c97793b49
util/IntrusiveList: do not use the deprecated class std::iterator
...
Deprecated in C++17. Since C++17, one is supposed to declare those 5
types manually.
2021-10-13 11:03:49 +02:00
Max Kellermann
a6eb264770
util/IntrusiveList: add type alias "Hook"
...
By casting to SafeLinkIntrusiveListHook if appropriate, this fixes a
bug in the erase() method, where erase() calls
IntrusiveListHook::unlink() instead of
SafeLinkIntrusiveListHook::unlink().
2021-03-02 17:51:50 +01:00
Max Kellermann
946b3c1f80
util/IntrusiveList: add method erase_and_dispose()
2021-02-25 14:12:47 +01:00
Max Kellermann
a0dc398f36
util/IntrusiveList: erase() returns an iterator
2021-02-25 14:12:39 +01:00
Max Kellermann
b54d2d984a
util/IntrusiveList: use ToHook() in erase()
2021-02-25 14:12:10 +01:00
Max Kellermann
4ab73f9de9
util/IntrusiveList: add missing ToNode() cast in iterator_to()
2021-02-25 14:10:55 +01:00
Max Kellermann
1048f23680
util/IntrusiveList: add hook class SafeLinkIntrusiveListHook
...
Similar to boost::intrusive::safe_link.
2021-02-24 20:29:16 +01:00
Max Kellermann
8fe8f09027
util/IntrusiveList: add noexcept
2021-02-24 20:17:28 +01:00
Max Kellermann
78670c0941
util/IntrusiveList: add constexpr
2021-02-24 20:16:54 +01:00
Max Kellermann
75e8795e3f
util/IntrusiveList: add method insert()
2021-02-22 23:32:51 +01:00
Max Kellermann
4912466d50
util/IntrusiveList: add method erase()
2021-02-22 23:32:47 +01:00
Max Kellermann
7fe0095fa7
util/IntrusiveList: add noexcept
to defaulted constructor
2021-02-11 21:22:15 +01:00
Max Kellermann
6f0ad2b6c5
util/IntrusiveList: replacement for boost::intrusive::list
2020-10-18 19:23:34 +02:00