[Development] QOptional

Thiago Macieira thiago.macieira at intel.com
Thu Aug 21 16:17:35 CEST 2014


On Thursday 21 August 2014 11:17:36 Milian Wolff wrote:
> On Thursday 21 August 2014 13:13:15 Иван Комиссаров wrote:
> > Of course, i can:)
> > 
> > bool ok;
> > const int value = string.toInt(&ok);
> > if (ok)
> > 
> >     qDebug() << "value is" << value;
> > 
> > // ====
> > const auto value = string.toInt();
> > if (value)
> > 
> >     qDebug() << "value is" << *value;
> 
> This is a source-incompatible change (and the bool* ok = 0 is optional). You
> cannot add such an API in Qt 5. You'd need to chose a different name.

Right. My original email had proposed that for toIntegral<T>(), but Qt 5.3 
came with a non-optional toIntegral too. So it's now taken too.

> While I agree that the existing API is not nice, coming up with new names
> won't be much nicer. In Qt 6, I we can just use std::optional and similar.
> In Qt 5, personally, I'd say lets stick with what we have and not try to
> reinvent yet another part of the STL.

That's why I didn't wait for QOptional to write toIntegral<T>.
-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Development mailing list