From 26e43221d11f7e64e446bbe7818314f28b6b0e27 Mon Sep 17 00:00:00 2001 From: Andrey Astafyev Date: Wed, 9 Oct 2019 00:01:50 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D1=8B=D0=B9=20=D1=84=D0=B0?= =?UTF-8?q?=D0=B9=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/myx/qt/backports.hpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/myx/qt/backports.hpp diff --git a/src/myx/qt/backports.hpp b/src/myx/qt/backports.hpp new file mode 100644 index 0000000..1288869 --- /dev/null +++ b/src/myx/qt/backports.hpp @@ -0,0 +1,31 @@ +#ifndef MYX_QT_BACKPORTS_HPP_ +#define MYX_QT_BACKPORTS_HPP_ + +#if ( defined ( TARGET_LSB_ID_AstraLinuxSE ) && defined ( TARGET_LSB_CODENAME_smolensk ) ) + +#define override + +#if QT_VERSION <= 0x050700 +#include +template< typename ... Args > +struct QOverload +{ + template< typename C, typename R > + static constexpr auto of( R ( C::* pmf )( Args... ) )->decltype( pmf ) + { + return( pmf ); + } +}; + +// this adds const to non-const objects (like std::as_const) +template < typename T > +Q_DECL_CONSTEXPR typename std::add_const< T >::type& qAsConst( T& t ) noexcept { return( t ); } +// prevent rvalue arguments: +template < typename T > +void qAsConst( const T&& ) = delete; + + +#endif // if QT_VERSION <= 0x050700 +#endif // if ( defined ( TARGET_LSB_ID_AstraLinuxSE ) && defined ( TARGET_LSB_CODENAME_smolensk ) ) + +#endif // MYX_QT_BACKPORTS_HPP_