Product News

Boost 1.53.0 Released

Release 1.53.0 of the Boost C++ Libraries is now available.

These open-source libraries work well with the C++ Standard Library, and are usable across a broad spectrum of applications. The Boost license encourages both commercial and non-commercial use.

This release contains five new libraries and numerous enhancements and bug fixes for existing libraries.

New Libraries:

  • Atomic: C++11-style atomic<>, from Helge Bahmann, maintained by Tim Blechmann.
  • Coroutine: Coroutine library, from Oliver Kowalke.
  • Lockfree: Lockfree data structures, from Tim Blechmann.
  • Multiprecision: Extended precision arithmetic types for floating point, integer and rational arithmetic from John Maddock and Christopher Kormanyos.
  • Odeint: Solving ordinary differential equations, from Karsten Ahnert and Mario Mulansky.

Links:

Thanks,

--The Boost release team

   Beman Dawes
   Daniel James
   Eric Niebler
   Marshall Clow
   Rene Rivera
   Vladimir Prus

B-Tree Containers from Google

Google has graciously gifted to the community a set of STL-like containers that use B-trees under the covers. The code has been released under the Apache 2 license.

C++ Containers That Save Memory And Time

We’re pleased to announce C++ B-Tree, a C++ template library that implements B-tree containers with an analogous interface to the standard STL map, set, multimap, and multiset containers. B-trees are well-known data structures for organizing secondary storage, because they are optimized for reading and writing large blocks of data. But the same property that makes B-trees appropriate for use with databases and file systems also makes them appropriate for use in main-memory, just with smaller blocks. [...]

Continue reading...

Online C++ compilers


Many people don't realize how many web pages offer access to try out C++ compilers, including many of the latest compilers with burgeoning C++11 language support. So we thought we'd publish a list.

Do you:

  • want to try out C++, but don't have a compiler installed?
  • want to try out a C++11 feature your compilers don't yet support?
  • want to compare the results of compiling a test program using different compilers?

Then try one of these online compilers! Some are compile-only to let check whether your code is legal, and some let you also run your test programs to see their output. For each, we include a list of the compilers that the page currently supports -- they include the latest from Clang (3.2, Dec 2012), GCC (4.8.0 prerelease), Intel (13.0, Oct 2012), and Microsoft (VC++ alpha CTP, Nov 2012).

This list is now also available on the Get Started! page.

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