common: Disable enum type stream operators for Qt >= 5.14
[quassel.git] / src / common / deferredptr.h
index 1ea1f6b..07c1d68 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2016 by the Quassel Project                        *
+ *   Copyright (C) 2005-2019 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -20,6 +20,8 @@
 
 #pragma once
 
+#include "common-export.h"
+
 #include <memory>
 #include <type_traits>
 
@@ -33,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
@@ -51,7 +55,6 @@ struct DeferredDeleter {
 template<typename T>
 using DeferredUniquePtr = std::unique_ptr<T, detail::DeferredDeleter>;
 
-
 /**
  * Helper function for creating a DeferredUniquePtr
  *
@@ -63,14 +66,13 @@ using DeferredUniquePtr = std::unique_ptr<T, detail::DeferredDeleter>;
  * @param[in] args Constructor arguments
  * @returns A DeferredUniquePtr holding a new instance of T
  */
-template<typename T, typename ...Args>
+template<typename T, typename... Args>
 DeferredUniquePtr<T> makeDeferredUnique(Args... args)
 {
     static_assert(std::is_base_of<QObject, T>::value, "Type must inherit from QObject");
     return DeferredUniquePtr<T>(new T(std::forward<Args>(args)...));
 }
 
-
 /**
  * Shared pointer for QObjects with deferred deletion
  *
@@ -79,7 +81,6 @@ DeferredUniquePtr<T> makeDeferredUnique(Args... args)
 template<typename T>
 using DeferredSharedPtr = std::shared_ptr<T>;
 
-
 /**
  * Helper function for creating a DeferredSharedPtr
  *
@@ -91,7 +92,7 @@ using DeferredSharedPtr = std::shared_ptr<T>;
  * @param[in] args Constructor arguments
  * @returns A DeferredSharedPtr holding a new instance of T
  */
-template<typename T, typename ...Args>
+template<typename T, typename... Args>
 DeferredSharedPtr<T> makeDeferredShared(Args... args)
 {
     static_assert(std::is_base_of<QObject, T>::value, "Type must inherit from QObject");