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
[email protected]
https://lists.qt-project.org/listinfo/development

Reply via email to