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

Ansel Sermersheim ansel at copperspice.com
Tue Jun 30 18:37:59 CEST 2015


On 6/29/15 11:37 PM, Alejandro Exojo wrote:
> El Tuesday 30 June 2015, Ansel Sermersheim escribió:
>> Our September release of CopperSpice will include changes to the
>> contain library, reimplementation of atomic types, our new changes
>>  to the MetaObject System registration, full API documentation, ??
>>
>> We would like to encourage developers to attend CPPCon to learn
>> about modern C++ and where it is going. For more information please
>> check out the following video.
>>
>> http://cppcon.org/2015promo/
>
> Can you explain which are your long term plans? Given that you
> renamed all the classes and modules (or so I understood), this is
> full source incompatible, and it doesn't seem like you want to sync
> again with the original Qt (applications might include a large file
> full of typedefs, but applying to CopperSpice any bugfix patch found
>  in Qt seems completely manual). Some developers experiment with
> their own branches to research or have fun, which is great, but
> seems like you are aiming to be a full new project.

We renamed the libraries to avoid naming conflicts with the Qt libraries
when CS and Qt are installed on the same system. We have not renamed the
classes, and our intention is to keep source compatibility as much as
possible. Some incompatible changes were unavoidable, particularly the
signal / slot declaration syntax.

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.

We would like to support multiple inheritance properly. We would like
the CsGui classes to work seamlessly with STL containers, and to add 
things like reverse iterators to the CS container library to bring it in 
line with the STL. We are going to fully support exceptions, and make 
exception safety guarantees where possible. We are working on 
redesigning the QObject lifetime model so that it works smoothly with 
C++11 smart pointers.

These are some of the limitations that frustrated us when using Qt in an 
existing codebase.

Thank you very much for your question,

Ansel Sermersheim
CopperSpice Co-Founder
www.copperspice.com



More information about the Development mailing list