File indexing completed on 2024-05-12 05:29:23

0001 /*
0002  *   SPDX-FileCopyrightText: 2015-2016 Ivan Cukic <ivan.cukic@kde.org>
0003  *
0004  *   SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005  */
0006 
0007 #pragma once
0008 
0009 #ifdef QT_DEBUG
0010 #include <QDebug>
0011 #endif
0012 
0013 namespace kamd
0014 {
0015 namespace utils
0016 {
0017 template<typename T>
0018 T debug_and_return(const char *message, T &&value)
0019 {
0020 #ifdef QT_DEBUG
0021     qCDebug(KAMD_LOG_RESOURCES) << message << " " << value;
0022 #endif
0023 
0024     return std::forward<T>(value);
0025 }
0026 
0027 template<typename T>
0028 T debug_and_return(bool debug, const char *message, T &&value)
0029 {
0030 #ifdef QT_DEBUG
0031     if (debug) {
0032         qCDebug(KAMD_LOG_RESOURCES) << message << " " << value;
0033     }
0034 #endif
0035 
0036     return std::forward<T>(value);
0037 }
0038 
0039 } // namespace utils
0040 } // namespace kamd