Product News

cpp-netlib.org announced

From Dean Michael Berris:

cpp-netlib.org is here!

The project's new home is now at http://cpp-netlib.org/ (links to the old site should automatically redirect to this domain). We're looking at scaling the effort of the project and enforcing a few processes for consistency and for velocity. A few highlight to the website content:

  • A style guide. We are now getting to the point where we have a lot of code and more people sending in pull requests. In this light we've started a very minimalist style guide. We will discuss and update this as soon as we have more data to make decisions.
  • A development policy document. We've attempted to codify what we do and how we do it.
  • A proposal process. If you're considering getting involved or helping get your library developed or included in cpp-netlib, there's now a process for that.

We're also now ramping up our migration to use Google Test and getting ready to use Clang Format to use the Google style-guide formatting (just for the formatting) to make the code more consistent. I'm driving that process and getting the codebase into a more maintainable state. I've learned in these past few years that readable code makes my life easier, and contributors lives easier. Having said this we're not going to compromise on features of C++11 that we're going to use. I believe that now is the time to use C++11. ...

 

Continue reading...

HPX (High Performance ParalleX) 0.9.5 Released

The High Performance ParalleX (HPX) library has produced its 0.9.5 release. Here's a snippet about HPX from its release announcement.

HPX 0.9.5 Released

[...] HPX (High Performance ParalleX) is a general C++ runtime system for parallel and distributed applications of any scale. It is the first freely available, open source, feature-complete, modular, and performance oriented implementation of the ParalleX execution model. HPX is targeted at conventional architectures and, currently, Linux based systems, such as SMP nodes and conventional clusters. [...]

Continue reading...

POCO 1.4.6 released, 1.5.1 development release now available

POCO versions 1.4.6 (stable) and 1.5.1 (development preview) are now available. Version 1.5.1 is a preview of the next major stable 1.6.0 release planned for this spring.

Here is the short note in its entirely. The links take to you the original announcement.

Releases 1.4.6 and 1.5.1 Available

Stable release 1.4.6 brings some bugfixes and minor enhancements. See the CHANGELOG for the details. This is planned to be the last release in the 1.4 series.

Development release 1.5.1 is a major step towards the next stable 1.6.0 release planned for this spring. See the CHANGELOG for what’s new.

Get the source code from the download page or directly from GitHub.

Qt 5 C++ UI framework released

Qt 5 is now available. This is the first major release under Digia, who recently acquired Qt from Nokia. Key additions include support for C++11 and HTML5 along with an integrated WebKit2 browser engine. Both commercial and open source versions are available.

Qt is the most widely-known and -used portable UI framework for C++, used by nearly half a millon developers worldwide. It offers native code performance and modern sophisticated user experiences across desktop, embedded, and mobile platforms.

More details from the Qt 5 product page:

Our 5th big iteration deepens four essential aspects of the Qt offering:

Amazing graphic capabilities and performance, especially manifested in constrained environments like embedded and mobile devices. Qt Quick 2 offers a GL-based scene graph, a particle system and a collection of shader effects. Qt Multimedia and Qt Graphical Effects bring these features even further.

Developer productivity and flexibility, making JavaScript and QML first class citizens while keeping the C++ foundation and Qt Widget support. The addition of Qt WebKit 2 should make HTML5 developers feel at home.

Cross-platform portability is now simpler for OS developers thanks to the new structure of Essentials and Add-ons modules, plus the consolidation of Qt Platform Abstraction. We look forward to seeing Qt running in all kinds of environments! Next up is full Qt support on iOS and Android and work here has already begun.

Open development and open governance is assuring wider development and testing of Qt 5 by a growing community including developers from Digia, KDAB, Intel, Collabora, Accenture, the KDE project, and many more companies and individuals. Today we all celebrate!

What’s new:

 

  • Amazing Graphics Capability and Performance
  • Qt Quick in Qt 5
  • WebKit and HTML5
  • Multimedia
  • Modularized Qt Libraries
  • Widgets in Qt 5
  • Qt Platform Abstraction
  • New Connection Syntax
  • Connectivity and Networking
  • JSON Support
  • User Input

 

Continue reading:

Clang 3.2 released

Chris Lattner has announced the release of version 3.2 of the Clang C++ compiler, as part of LLVM 3.2. Read the release notes here.

Highlights include:

  • Improved error and warning diagnostics.
  • Doxygen-like documentation comment support.
  • Improved Python bindings.
  • Standard C11 _Alignof support
  • The same strong Standard C++11 support as in the spring release, Clang 3.1. See the C++98 and C++11 Support in Clang status page for details.

Embarcadero C++ Builder XE3 released: Highly-conforming Clang-based C++11 compiler

On Monday in their webcast talk following the Bjarne Stroustrup interview, Embarcadero announced C++Builder XE3 -- a highly-conforming Clang-based C++11 compiler that enables targeting Windows, OS X, and soon iOS and Android from a single modern C++11 code base, including leveraging the latest platform features such as Windows 8's WinRT and OS X Mountain Lion's Retina display support.

From the product announcement:

C++Builder XE3 delivers the best of both worlds – a highly-compliant C++11 64-bit Windows toolchain with an agile development solution. Now you can use the latest C++ features and libraries while you speed your development process with C++Builder’s visual development environment.

With C++Builder XE3, developers can use Embarcadero C++ standard extensions to provide an agile coding experience with rapid prototyping and reusable software components, and a fully integrated two-way visual development environment so you can deliver your applications to market faster.

  • New 64-bit Windows compiler based on a multi-device targeting architecture
  • C++98, C++TR1, and C++11 language standards
  • ANSI C, ISO C, C99, and C11 language standards
  • Dinkumware STL 5.3 and Boost 1.5
  • CLANG compatible
  • Agile C++ language extensions
  • Cross-compilation to multiple Windows and Mac OS X platforms (iOS and Android coming in 2013)

Continue reading...

 

Using C++11 to Speed Up Your Qt 5 Programs -- Marc Mutz

Last month's Qt DeveloperDays Europe videos are now available, including this one showing continued rapid adoption of C++11.

Using C++11 to Speed Up Your Qt 5 Programs (PDF slides)

Marc Mutz

Qt 5 comes with much-improved support for C++11. This talk will teach you techniques that you can use to make your applications use less memory or execute faster when compiled with a C++11 compiler. The focus is on techniques that will not break compatibility with C++98 compilers. After a look at the present state of C++11 support in Qt 5.0, the talk closes with a look at what we can expect in Qt 5.1.

From the summary slide "C++11 @ QT 5.0":

  • constexpr added to many types
  • move semantics added to a few types
  • initializer_list added to most types
  • new few N-ary ctors marked explicit, N >= 2
  • = delete used almost ubiquitously
  • noexcept added in a few central places

C++11 tempts OSS: KDevelop 4.6 IDE, KDE Frameworks 5, Qt 5.0 (Phoronix)

HT to Michael Larabel and Phoronix: It's great to see more projects moving to adopt modern C++11, from C++98/03 and even from C. Here are three fairly well-known projects in the "thinking about" stage of taking the plunge.

More Open-Source Projects Eyeing Up C++11

by Michael Larabel

KDE developers are currently contemplating the idea of allowing a subset of the C++11 language to be used within the KDevelop code-base. This C++11 change would happen for the KDevelop 4.6 integrated development environment release. Reasons are shared in this article for why one should consider using C++11 code.

[...]

Qt 5.0 is taking advantage of C++11 too, but there it's being handled in a backwards compatible manner so the code will still build as C++03 on older compilers. There is also more Qt C++11 developer information shared via slides from the recent Qt Developer Days event.

KDE Frameworks 5 may also use C++11.

Continue reading...

Applied Informatics C++ Libraries and Tools Release 2012.1 now available

Release 2012.1 of Applied Informatics C++ Libraries and Tools is now available.

These libraries extend the POCO C++ Libraries with additional features, including:

  • Remoting for RPC/IPC and SOAP/WSDL web services, including SOAP 1.1 and 1.2
  • Open Service Platform for building modular, extensible applications
  • DNSSD/Zeroconf
  • Universal Plug and Play (UPnP)
  • Fast Infoset processing
  • Secure remote access to smart devices.

New in release 2012.1 are:

  • Support for C++ code generation from XML Schema and WSDL documents
  • Allowing Remoting to invoke SOAP 1.1/1.2 web services created using other middleware technologies such as Java JAX-WS or Microsoft .NET WCF
  • New Remoting featuers to support MTOM, HTTP Basic and Digest authentication and HTTP compression (gzip content encoding), as well as remote events with the new TCP transport

A free evaluation version is available for download.

Reactive Extensions (Rx) now supports LINQ in C++, goes open source

Reactive Extensions (Rx) is now open source and supports LINQ styles in C++.

From the announcement, Rx is already being used for a number of highly responsive applications including GitHub for Windows:

According to Paul Betts at GitHub, "GitHub for Windows uses the Reactive Extensions for almost everything it does, including network requests, UI events, managing child processes (git.exe). Using Rx and ReactiveUI, we've written a fast, nearly 100% asynchronous, responsive application, while still having 100% deterministic, reliable unit tests. The desktop developers at GitHub loved Rx so much, that the Mac team created their own version of Rx and ReactiveUI, called ReactiveCocoa, and are now using it on the Mac to obtain similar benefits."

In addition to Rx's original support for .NET and new support for Javascript, Rx has also added support for C++:

Rx++: The Reactive Extensions for Native (RxC) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators in both C and C++.

Ix++: An implementation of LINQ for Native Developers in C++.

Where to download or find out more: https://rx.codeplex.com/