Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
Streaming.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 fuddlesworth
2// SPDX-License-Identifier: LGPL-2.1-or-later
3
4#pragma once
5
6#include <QDBusArgument>
7
8#include <type_traits>
9#include <utility>
10
11namespace PhosphorDBus {
12
25template<typename T, typename = void>
26struct HasDBusStreaming : std::false_type
27{
28};
29
30template<typename T>
32 std::void_t<decltype(std::declval<QDBusArgument&>() << std::declval<const T&>()),
33 decltype(std::declval<const QDBusArgument&>() >> std::declval<T&>())>>
34 : std::true_type
35{
36};
37
38} // namespace PhosphorDBus
Definition Client.h:17
Compile-time check that a type has QDBusArgument streaming operators.
Definition Streaming.h:27