[Development] Go's "defer" statement for C++/Qt

Jesus Fernandez jesus.fernandez at qt.io
Thu Mar 7 18:14:56 CET 2019


std::async(std::launch::deferred, ...);

?



Best regards,
Jesús


-------- Original message --------
From: Tor Arne Vestbø <Tor.arne.Vestbo at qt.io>
Date: 07/03/2019 18:11 (GMT+01:00)
To: Volker Hilsheimer <volker.hilsheimer at qt.io>
Cc: Qt development mailing list <development at qt-project.org>
Subject: Re: [Development] Go's "defer" statement for C++/Qt

https://doc.qt.io/qt-5/qscopeguard.html 😊

Tor Arne

> On 7 Mar 2019, at 18:01, Volker Hilsheimer <volker.hilsheimer at qt.io> wrote:
>
> Ahoy,
>
> In what little development I’ve done in golang, I appreciated the “defer” statement as a means to write cleaner code. Basically, defer schedules a statement for execution when the stack unwinds.
>
> https://tour.golang.org/flowcontrol/12
>
> We have several specialized helper classes in Qt for similar purposes, f.ex QMutexLocker and friends, or the internal QBoolBlocker [1]. Seeing the various specialized classes we have, I thought that something generic in Qt could be useful to have (although our specialised classes provide some additional convenience and/or logic).
>
> So, I pushed a few lines code to
>
> https://git.qt.io/vohilshe/qt_defer
>
> Would like to hear what you think.
>
> Perhaps someone can find ways to make this more elegant without introducing tons of preprocessor/macro shenanigans, or perhaps even without depending on C++17's implicit template argument deduction (without enabling C++17 in the config this doesn't build for me, even though I don’t use auto in the template paramter list).
>
>
> Cheers,
> Volker
>
>
> [1] which was requested to be made public in https://bugreports.qt.io/browse/QTBUG-38575
>
>
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> https://lists.qt-project.org/listinfo/development

_______________________________________________
Development mailing list
Development at qt-project.org
https://lists.qt-project.org/listinfo/development
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20190307/94c93cf9/attachment.html>


More information about the Development mailing list