util/IntrusiveList: add constexpr

This commit is contained in:
Max Kellermann 2021-02-24 20:16:18 +01:00
parent 34f735890e
commit 78670c0941

View File

@ -125,7 +125,7 @@ class IntrusiveList {
} }
public: public:
IntrusiveList() noexcept = default; constexpr IntrusiveList() noexcept = default;
IntrusiveList(IntrusiveList &&src) noexcept { IntrusiveList(IntrusiveList &&src) noexcept {
if (src.empty()) if (src.empty())
@ -140,7 +140,7 @@ public:
} }
~IntrusiveList() noexcept { ~IntrusiveList() noexcept {
if (std::is_base_of<AutoUnlinkIntrusiveListHook, T>::value) if constexpr (std::is_base_of<AutoUnlinkIntrusiveListHook, T>::value)
clear(); clear();
} }
@ -151,7 +151,7 @@ public:
} }
void clear() noexcept { void clear() noexcept {
if (std::is_base_of<AutoUnlinkIntrusiveListHook, T>::value) { if constexpr (std::is_base_of<AutoUnlinkIntrusiveListHook, T>::value) {
/* for AutoUnlinkIntrusiveListHook, we need to /* for AutoUnlinkIntrusiveListHook, we need to
remove each item manually, or else its remove each item manually, or else its
is_linked() method will not work */ is_linked() method will not work */