X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fdeferredptr.h;h=ebf8903aec53fcbfdcf8ace4ef8d5dd1e3fa4b90;hp=8e02db88e99ac897e81180a5f45d1ad73745d1da;hb=c0d6dc0dec628f2e143e37ecc95cec45e636f8a5;hpb=92fc8c5b119111a35ab8423c3cbde5b2a022badf diff --git a/src/common/deferredptr.h b/src/common/deferredptr.h index 8e02db88..ebf8903a 100644 --- a/src/common/deferredptr.h +++ b/src/common/deferredptr.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2018 by the Quassel Project * + * Copyright (C) 2005-2020 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -35,15 +35,17 @@ namespace detail { * QObject should always be deleted by calling deleteLater() on them, so the event loop can * perform necessary cleanups. */ -struct DeferredDeleter { +struct DeferredDeleter +{ /// Deletes the given QObject - void operator()(QObject *object) const { + void operator()(QObject* object) const + { if (object) object->deleteLater(); } }; -} // detail +} // namespace detail /** * Unique pointer for QObjects with deferred deletion @@ -53,7 +55,6 @@ struct DeferredDeleter { template using DeferredUniquePtr = std::unique_ptr; - /** * Helper function for creating a DeferredUniquePtr * @@ -65,14 +66,13 @@ using DeferredUniquePtr = std::unique_ptr; * @param[in] args Constructor arguments * @returns A DeferredUniquePtr holding a new instance of T */ -template +template DeferredUniquePtr makeDeferredUnique(Args... args) { static_assert(std::is_base_of::value, "Type must inherit from QObject"); return DeferredUniquePtr(new T(std::forward(args)...)); } - /** * Shared pointer for QObjects with deferred deletion * @@ -81,7 +81,6 @@ DeferredUniquePtr makeDeferredUnique(Args... args) template using DeferredSharedPtr = std::shared_ptr; - /** * Helper function for creating a DeferredSharedPtr * @@ -93,7 +92,7 @@ using DeferredSharedPtr = std::shared_ptr; * @param[in] args Constructor arguments * @returns A DeferredSharedPtr holding a new instance of T */ -template +template DeferredSharedPtr makeDeferredShared(Args... args) { static_assert(std::is_base_of::value, "Type must inherit from QObject");