[Development] Qt LTS & C++11 plans (CopperSpice)

Ansel Sermersheim ansel at copperspice.com
Wed Jul 1 04:40:55 CEST 2015


On 6/30/15 1:01 PM, Thiago Macieira wrote:
> On Tuesday 30 June 2015 09:37:59 Ansel Sermersheim wrote:
>> Our goal with CopperSpice is to use modern C++ internally to leverage
>> everything we can from the language. We want developers of CopperSpice
>> applications to have the full power of C++ available in all parts of
>> their code. For example, with moc removed we support template classes
>> that inherit from QObject. We support passing method pointers as signal
>> arguments.
>
> You need to use -fvisibility-inlines-hidden and retry. I don't think your
> solution works under those circumstances.

As we mentioned we have already changed parts of the CopperSpice 
registration system. This will be released within the next month or so. 
We are definitely aware of -fvisibility-inlines-hidden, and we will look 
into supporting it.

>>   We are going to fully support exceptions, and make
>> exception safety guarantees where possible.
>
> Unless you're going to rewrite the entire GUI, widgets, networking and other
> libraries from scratch, you're not going to get exception-safety.

Yes, many parts will need to be redone and we are starting with the 
container classes.

>> These are some of the limitations that frustrated us when using Qt in an
>> existing codebase.
>
> You're making trade-offs. One of them, given your presentation, is that there's
> no current version of MSVC that will work with your codebase. Another is that
> you're replacing a code generator by a lot of boilerplate macros.

We do not feel that requiring a compiler to support C++11 is 
unreasonable. Our main issues with MSVC is with constexpr and expression 
SFINAE. MS has added partial support of constexpr for MSVC 2015, 
although they are still reported to have a few issues. They will get 
there eventually. No word yet on when expression SFINAE will be added.

Yes, we make use of macros as macros were intended to be used. We 
strongly believe the syntax for our macros is concise and clean, and 
that this tradeoff is worthwhile.

Ansel
CopperSpice Co-Founder
www.copperspice.com



More information about the Development mailing list