From 6c6b5b1bc18e16d0b40b674c8a48e0104ec73729 Mon Sep 17 00:00:00 2001 From: Kitsune Ral Date: Mon, 27 Feb 2017 16:40:03 +0900 Subject: Renamed logging_util.h to util.h and moved (improved) Owning<> and lookup() there Because these fall outside of SyncJob and Event context, respectively. In addition, Owning<> has gained a move assignment operator (because we have a move constructor) and assign() convenience method to take ownership over an existing container; also, Owning<>::release() is done the right way now (the previous version was copying the return value to a new container instead of releasing the old container). --- logging_util.h | 63 ---------------------------------------------------------- 1 file changed, 63 deletions(-) delete mode 100644 logging_util.h (limited to 'logging_util.h') diff --git a/logging_util.h b/logging_util.h deleted file mode 100644 index 47b2e062..00000000 --- a/logging_util.h +++ /dev/null @@ -1,63 +0,0 @@ -/****************************************************************************** - * Copyright (C) 2016 Kitsune Ral - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -/** - * @file logging_util.h - a collection of utilities to facilitate debug logging. - */ - -#pragma once - -#include - -namespace QMatrixClient { - -// QDebug manipulators - -using QDebugManip = QDebug (*)(QDebug); - -/** - * @brief QDebug manipulator to setup the stream for JSON output. - * - * Originally made to encapsulate the change in QDebug behavior in Qt 5.4 - * and the respective addition of QDebug::noquote(). - * Together with the operator<<() helper, the proposed usage is - * (similar to std:: I/O manipulators): - * - * @example qDebug() << formatJson << json_object; // (QJsonObject, or QJsonValue, etc.) - */ -static QDebugManip formatJson = [](QDebug debug_object) { -#if QT_VERSION < QT_VERSION_CHECK(5, 4, 0) - return debug_object; -#else - return debug_object.noquote(); -#endif - }; - -/** - * @brief A helper operator to facilitate using formatJson (and possibly other manipulators) - * - * @param debug_object to output the json to - * @param qdm a QDebug manipulator - * @return a copy of debug_object that has its mode altered by qdm - */ -inline QDebug operator<< (QDebug debug_object, QDebugManip qdm) { - return qdm(debug_object); -} - -} - -- cgit v1.2.3