Re: [Interest] QScopedPointer and c++11 move semantics

2017-01-01 Thread Kitsune Ral via Interest
I think the code I gave is C++17 because of http://en.cppreference.com/w/cpp/language/class_template_deduction -- Kitsune Ral Original Message Subject: Re: [Interest] QScopedPointer and c++11 move semantics Local Time: 31-an de decembro, 2016 8:49 P.T.M. UTC Time: 31-an de

Re: [Interest] QScopedPointer and c++11 move semantics

2016-12-31 Thread Nikos Chantziaras
On 12/30/2016 08:47 PM, Alexander Dyagilev wrote: Hello, https://bugreports.qt.io/browse/QTBUG-29754 states that the problem was fixed and QScopedPointer supports it now. But it does not. std::move does not compile. error: C2248: 'QScopedPointer>::QScopedPointer': cannot access private member

Re: [Interest] QScopedPointer and c++11 move semantics

2016-12-31 Thread Thiago Macieira
Em sexta-feira, 30 de dezembro de 2016, às 22:41:14 BRST, Kitsune Ral via Interest escreveu: > The most concise, I guess, is: > static const auto laterDeleter = std::mem_fn(&QObject::deleteLater); > std::unique_ptr a(nullptr, laterDeleter); > > In C++17, if I don't mistake, you won't ned explicit

Re: [Interest] QScopedPointer and c++11 move semantics

2016-12-30 Thread Kitsune Ral via Interest
em_fn(&QObject::deleteLater)); -- Kitsune Ral Original Message ---- Subject: Re: [Interest] QScopedPointer and c++11 move semantics Local Time: 31-an de decembro, 2016 5:05 A.T.M. UTC Time: 30-an de decembro, 2016 20:05 From: alervd...@gmail.com To: Konstantin Tokarev ,

Re: [Interest] QScopedPointer and c++11 move semantics

2016-12-30 Thread Alexander Dyagilev
c++ has gone too far with its templates... On 12/30/2016 11:03 PM, Alexander Dyagilev wrote: This does not work either: std::unique_ptr var( pointer, &QObject::deleteLater); On 12/30/2016 10:58 PM, Alexander Dyagilev wrote: On 12/30/2016 10:55 PM, Konstantin Tokarev wrote:

Re: [Interest] QScopedPointer and c++11 move semantics

2016-12-30 Thread Alexander Dyagilev
This does not work either: std::unique_ptr var( pointer, &QObject::deleteLater); On 12/30/2016 10:58 PM, Alexander Dyagilev wrote: On 12/30/2016 10:55 PM, Konstantin Tokarev wrote: 30.12.2016, 22:45, "Alexander Dyagilev" : QScopedPointer var(new QObject, &QObject::deleteLat

Re: [Interest] QScopedPointer and c++11 move semantics

2016-12-30 Thread Alexander Dyagilev
On 12/30/2016 10:55 PM, Konstantin Tokarev wrote: 30.12.2016, 22:45, "Alexander Dyagilev" : QScopedPointer var(new QObject, &QObject::deleteLater) - compiles fine. std::unique_ptr var(new QObject, &QObject::deleteLater) - does not compile. Is there an easy way I miss? std::mem_fun(&QObject:

Re: [Interest] QScopedPointer and c++11 move semantics

2016-12-30 Thread Konstantin Tokarev
30.12.2016, 22:45, "Alexander Dyagilev" : > QScopedPointer var(new QObject, &QObject::deleteLater) - compiles fine. > > std::unique_ptr var(new QObject, &QObject::deleteLater) - does not compile. > > Is there an easy way I miss? std::mem_fun(&QObject::deleteLater) should work > > On 12/30/2016

Re: [Interest] QScopedPointer and c++11 move semantics

2016-12-30 Thread Alexander Dyagilev
Sorry, my bad. QScopedPointer does not compiles so also... On 12/30/2016 10:44 PM, Alexander Dyagilev wrote: QScopedPointer var(new QObject, &QObject::deleteLater) - compiles fine. std::unique_ptr var(new QObject, &QObject::deleteLater) - does not compile. Is there an easy way I miss? On

Re: [Interest] QScopedPointer and c++11 move semantics

2016-12-30 Thread Alexander Dyagilev
QScopedPointer var(new QObject, &QObject::deleteLater) - compiles fine. std::unique_ptr var(new QObject, &QObject::deleteLater) - does not compile. Is there an easy way I miss? On 12/30/2016 10:35 PM, Giuseppe D'Angelo wrote: Il 30/12/2016 20:32, Alexander Dyagilev ha scritto: This requires

Re: [Interest] QScopedPointer and c++11 move semantics

2016-12-30 Thread Giuseppe D'Angelo
Il 30/12/2016 20:32, Alexander Dyagilev ha scritto: > This requires me to implement a special deleter function somewhere. I'm > too lazy :) > > QPointer is a more convenient way. QPointer would still require you to define your custom deleter (as by default it would delete via operator de

Re: [Interest] QScopedPointer and c++11 move semantics

2016-12-30 Thread Alexander Dyagilev
This requires me to implement a special deleter function somewhere. I'm too lazy :) QPointer is a more convenient way. On 12/30/2016 10:31 PM, Giuseppe D'Angelo wrote: Il 30/12/2016 20:27, Alexander Dyagilev ha scritto: Hmmm So there is not std::unique_ptr analogue in Qt? And we hav

Re: [Interest] QScopedPointer and c++11 move semantics

2016-12-30 Thread Konstantin Tokarev
30.12.2016, 22:31, "Alexander Dyagilev" : > Another,  i think a better idea: > > Just rename QScopedPointer to QUniquePointer. Just use std::unique_ptr<> > > THEN: > > 1. class QScopedPointer : public QUniquePointer {} > > 2. in this new QScopedPointer class forbid all the move semantics. > > I

Re: [Interest] QScopedPointer and c++11 move semantics

2016-12-30 Thread Giuseppe D'Angelo
Il 30/12/2016 20:27, Alexander Dyagilev ha scritto: > Hmmm So there is not std::unique_ptr analogue in Qt? > > And we have to use std::unique_ptr with a special deleter... > > (I would like to use &QObjet::deleteLater one). > > Sadly... > But if you have C++11 (because all of this requires

Re: [Interest] QScopedPointer and c++11 move semantics

2016-12-30 Thread Alexander Dyagilev
Another, i think a better idea: Just rename QScopedPointer to QUniquePointer. THEN: 1. class QScopedPointer : public QUniquePointer {} 2. in this new QScopedPointer class forbid all the move semantics. Isn't it a brilliant idea? :) On 12/30/2016 10:27 PM, Alexander Dyagilev wrote: Hmmm.

Re: [Interest] QScopedPointer and c++11 move semantics

2016-12-30 Thread Alexander Dyagilev
Hmmm So there is not std::unique_ptr analogue in Qt? And we have to use std::unique_ptr with a special deleter... (I would like to use &QObjet::deleteLater one). Sadly... Why don't you just introduce another class with another name that do support? E.g. QUniquePointer : public QScopedPo

Re: [Interest] QScopedPointer and c++11 move semantics

2016-12-30 Thread Giuseppe D'Angelo
Il 30/12/2016 19:47, Alexander Dyagilev ha scritto: > Hello, > > https://bugreports.qt.io/browse/QTBUG-29754 > > states that the problem was fixed and QScopedPointer supports it now. > I implemented it in 5b9006bbdba7dcab01b8e640554a7d7a4b64f76b, but then a discussion on the mailing list caused

[Interest] QScopedPointer and c++11 move semantics

2016-12-30 Thread Alexander Dyagilev
Hello, https://bugreports.qt.io/browse/QTBUG-29754 states that the problem was fixed and QScopedPointer supports it now. But it does not. std::move does not compile. error: C2248: 'QScopedPointer>::QScopedPointer': cannot access private member declared in class 'QScopedPointer>' with [ T=W