// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #ifndef QTCONCURRENT_COMPILERTEST_H #define QTCONCURRENT_COMPILERTEST_H #include #ifndef QT_NO_CONCURRENT QT_BEGIN_NAMESPACE namespace QtPrivate { template struct IsIterable : std::false_type {}; template struct IsIterable().begin()), decltype(std::declval().end())>> : std::true_type { }; template inline constexpr bool IsIterableValue = IsIterable::value; template struct IsDereferenceable : std::false_type {}; template struct IsDereferenceable())>> : std::true_type { }; template inline constexpr bool IsDereferenceableValue = IsDereferenceable::value; } QT_END_NAMESPACE #endif // QT_NO_CONCURRENT #endif