July 2015

Bitesize Modern C++: Uniform initialization--Glennan Carnie

Do you know how the uniform initialization?

Bitesize Modern C++: Uniform initialization

by Glennan Carnie

From the article:

C++98 has a frustratingly large number of ways of initialising an object.

(Note: not all these initialisations may be valid at the same time, or at all. We’re interested in the syntax here, not the semantics of the class X)

One of the design goals in C++11 was uniform initialisation syntax...

CppCon 2014 Polymorphism with Unions--Jason Lucas

Have you registered for CppCon 2015 in September? Don’t delay – Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2014 for you to enjoy. Here is today’s feature:

Polymorphism with Unions

by Jason Lucas

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Using tagged unions to create families of polymorphic types that are more flexible and more easily maintained than those formed with inheritance alone. We demonstrate the design pattern and implementation techniques of sum types with examples from a compiler development project. We also examine the technique's impact on project management and engineering and on algorithm design, including the role of type switches, value type semantics, and multiple dispatch polymorphism.

Trees, tree models and treeviews in Qt

The first part in my series on writing applications with C++ using Qt and boost:

Trees, tree models and treeviews in Qt

by Jens Weller

From the article:

On Tuesday I've announced this new series, this is the first installment showing the progress. The first thing I did when I started to work on my new application, was to implement a generic tree class, that then is exposed through not so generic tree model to Qt. The QTreeView then simply displays the data in the tree. My goals are, that the class containing the tree it self, is independent from Qt. Yet as its used in Qt, there are a few design decisions which reflect the needs of the Qt Model View system...

C++ Siberia 2015

Program, speakers etc. are all online now in Russian.

C++ Siberia 2015

Organized by Sergey Platonov

What to expect at Siberia C++:

The event will take place in Novosibirsk, Siberia, Russia in August 2015. People from Yandex, Boost, PVS-Studio and many more companies will share their knowledge on compilers, concurrency and much more.

CppCon 2014 Using C++ to Connect to Web Services--Steve Gates

Have you registered for CppCon 2015 in September? Don’t delay – Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2014 for you to enjoy. Here is today’s feature:

Using C++ to Connect to Web Services

by Steve Gates

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Many languages have great support for connecting to web services. Trying to connect C++ applications to the cloud is difficult. The C++ standard library doesn't contain anything for networking (yet), and with the proliferation of devices, being able to do so in a cross platform manner is even more appealing. Often requiring use of multiple different styled, and potentially low level, libraries where asynchrony wasn't designed from the start. Or by building your own abstract layers over platform and operating system APIs, all of which distract from focusing on the core logic of your application.

The C++ REST SDK makes connecting to services easier by creating APIs focused on simplicity and asynchrony, built using tasks from the Parallel Patterns Library. This is done by putting together a series of cross platform libraries for working with HTTP, WebSockets, JSON, URIs, and OAuth. In many cases building on top of other popular open source libraries like Boost, OpenSSL, and WebSocket++. This talk will take a practical approach looking at what is involved in connecting to some of the common popular services from C++, using the C++ REST SDK and other libraries. Several tutorial style example and demos will be done using C++ code that runs on all the major platforms.

Building Applications with Qt and boost

I'm starting a series on my blog and youtube channel, about building an application in C++:

Building Applications with Qt and boost

by Jens Weller

From the article:

This is the start of a series of posts, in which I'll try to document my weekly work on a new application, build with Qt and boost. This first post is rather short, but I'd quickly try to give you an overview, why I use both Qt and boost in the same application. Regarding Qt, I wrote an introduction a two years ago, also for boost, there is an excellent website/tutorial about boost by Boris Schäling (buy his book! wink). This series is not meant as a general introduction, yet I try to show you how and what I use of Qt and boost.

CppCon 2015 program is available: 100+ talks, all new

cppcon-054.PNGThe CppCon 2015 program has been posted! A few additional well-known speakers will also be announced soon for the remaining plenary sessions, but the majority of the program is now set: After the opening keynote by Bjarne Stroustrup on "Writing Good C++14," once again there are 100+ top-quality talks in 6 tracks all week long at this year's premier C++ festival, presented by over 80 speakers from around the world.

Note that there are no repeats -- all of the 100+ talks are new since last year. (If you missed last year's talks, you can watch them for free online on YouTube and Channel 9.) This year the program committee had even more submissions than last time, nearly twice as many as could be accepted. Even though this meant turning down lots of very good talk proposals simply for lack of room, the good news is that's because there was so much even stronger material, and this year's program is packed with the very best topics and content on C++ available this year. Register now for September 20-25, 2015!

Here's the announcement:

CppCon 2015 Program Available

The CppCon 2015 Program is now (mostly) available with talk titles, abstracts, and speakers. The program contains over 100 one-hour sessions by over 80 speakers including many speakers returning from last year’s very successful program as well as many new voices. Not all sessions are announced yet, but we have announced our opening keynote by C++ creator Bjarne Stroustrup on Writing Good C++14.

Finally, we would like to thank the program committee, the speakers on the program, and the many more who proposed talks which we unfortunately just couldn’t squeeze in this year. Thank you for your hard work and enthusiastic support for this year’s program!

CppCon 2014 sqlpp11, An SQL Library Worthy Of Modern C++--Roland Bock

Have you registered for CppCon 2015 in September? Don’t delay – Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2014 for you to enjoy. Here is today’s feature:

sqlpp11, An SQL Library Worthy Of Modern C++

by Roland Bock

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

SQL and C++ are both strongly typed languages. They should play well together. But most C/C++ interfaces to SQL databases are string based. They force the developer to effectively hide the SQL types, names and expression structures from the compiler. This defers the validation of SQL expressions until runtime, i.e. unit tests or even production. And the strings might even be vendor specific, because different databases expect different dialects of SQL in those strings.

That feels wrong. Modern C++ can do better.

This talk gives an introduction to sqlpp11, a templated embedded domain specific language for SQL in C++. It allows you to build type-safe SQL expressions with type-safe results, all of which can be verified at compile time, long before your code enters unit tests or even production.

In addition to its obvious use with relational databases, sqlpp11 can also serve as an SQL frontend for all kinds of data sources: Since sqlpp11 offers complete SQL expression trees even at compile time, it isn't hard to apply SQL expressions to std::vector or std::map for instance, or streams, or XML, or JSON, you name it. With your help, sqlpp11 could become for C++ what LINQ is for C#.