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
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
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
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 ,
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:
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
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:
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
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
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
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
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
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
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
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.
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
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
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
18 matches
Mail list logo