Vorträge auf der Meeting C++ Konferenz

Container in Boost

The Boost libraries provide many useful containers which nicely extend the available containers in the C++ standard library. In this session we will have a look at containers in Boost. Depending on time and interest we cover Boost.Multiindex, Boost.Bimap, Boost.CircularBuffer, Boost.PropertyTree, Boost.

Boosting MPL mit Haskell elements

Die Ähnlichkeiten zwischen Haskell und der C++-Template-Metaprogrammierung sind bekannt [1,2], trotzdem wurden viele Elemente von Haskell noch nicht in die C++-Template-Metaprogrammierung eingeführt.

Haskell, sowie viele andere funktionale Sprachen verwenden Let-Ausdrücke, um den Programmierern zu helfen, besser lesbaren Code zu schreiben.

Debugging and Profiling C++ Template Metaprograms

C++ Template Metaprogramming is a well known technique in which clever definitions of templates can force the C++ compiler to execute algorithms at compilation time. Among the application areas of template metaprograms are the expression templates, static interface checking, code optimization with adaption, domain specific language embedding and active libraries.

Skalieren mit C++11

As the number of cores per processor increases, software need to be able to execute multiple tasks in parallel in order to benefit from Moore’s law. This is not only a question of writing parallel algorithms, but also a matter of designing the application properly to reduce inter-thread dependencies.

Einfacheres C++ mit C++11

Mit dem Release des neuen ISO Standards für C++ in 2011 gibt es neue Syntax und Library Komponenten, die es erlauben C++ Programmcode einfacher zu gestalten. Aber auch lange existierende Library-Konzepte, wie Algorithmen der Standardbibliothek, werden oft in der Literatur und Ausbildung vernachlässigt, weil es zu kompliziert erscheint, dass Konzept der Funktoren zu erklären, oder weil die Fehlbenutzung der Algorithmen Template-Funktionen zu völlig unverständlichen Fehlermeldungen führt.

C++1y: "Concepts-Lite" - Wie zukünftige Template Parameter Typisierung aussehen könnte

Für die letzte Standardisierung mussten "Concepts" leider entfallen. Jetzt wird ein neuer Anlauf gewagt, um C++ template Parametern ein Typsystem und entsprechende frühe Prüfung von Template-Argumenten mit besseren Fehlermeldungen zu ermöglichen. Der Vortrag wird den aktuellen Stand der Diskussionen und der entsprechenden Sprachfeatures vorstellen und damit einen Ausblick geben, was in diesem Jahrzehnt noch vom C++ Standard für Concepts zu erwarten ist.

"Real life" Template Meta-Programmierung

Jeder kennt Meta-Programmierung in C++. Jeder kennt das typische
Fakultäts-Beispiel, bei dem man mit Template-Spezialisierung die
Fakultät einer Zahl zur Compile-Zeit berechnen kann - aber wer hat das
je benötigt? Meta-Programmierung hinterläßt den Eindruck, als sei sie
nur was für absolute Experten in extremen Anwendungsfällen.

Generic Programming for the rest of us

Generische Programmierung (GP) als Paradigma ist seit der Einführung der STL den meisten C++-Programmierern ein Begriff. Auch für die Entwicklung eigener Komponenten und Bibliotheken mit einem hohen Wiederverwendungs-Potential bietet GP ein mächtiges Entwurfsprinzip. Während aber die STL oder boost verbreitet in Neuentwicklungen genutzt werden, hapert es etwas bei der Umsetzung eigener generischer Komponenten.

UI prototyping and development for multiple devices in C++

Using C++ for multiple device user interface (and application) development. Since, the C++ language and library standard does not specify a user interface library, there are many choices with many pros and cons. Even more challenging is the new world of mobile devices and the myriad form factor, layouts, and resolution that an application developer has to deal with.

C++, XAML and DirectX: Better together

With Windows 8, Microsoft introduced a new, native UI framework for Application developers. This framework, named XAML, also offers good integration support with the core DirectX graphics technologies.
This presentation is about the various ways to integrate XAML and DirectX using C++ and build differentiated application experiences.

Embedded Programming with C++11

Embedded programming is one of the key domains of C++. With C++11 this feature has been improved, as C++11 "makes C++ even better for embedded systems programming and high-performance computation" (Bjarne Stroustrup). But what are the features to make C++11 such a great language in the embedded world to aim the goals of safety-, realtime-, resource- and hardware-critical systems? Be suprised what C++11 will offer you in this special domain constexpr, std::array, generalized PODs, alignment support und userdefined literals to name only a few of the C++11 features.

Modern CMake for C++

CMake is an advanced buildsystem generator supporting multiple languages,
platforms, IDEs and build tools. Although CMake has already had over 10 years
of use, it continues to get new features to make modern buildsystems easier to
write. Much of the development focus currently is on the needs of users such
as boost and Qt 5 need from CMake.

Productive Scientific Programming with MTL4

The Matrix Template Library v4 (MTL4) has been proven to provide high
performance on different platforms while -- maybe even more
importantly -- allowing for high productivity in the development
process. The intuitive notation provides an easy entry level and quick
programming progress while scientists do not need to waste their time
with deep technical details.

Qt5 and its Multimedia Framework

This talk starts with a short overview over Qt5, and focuses on the new Multimedia Framework for recording and playback in Qt5. Qt5 was released in late 2012, and brings some new things, unfortunately too much to put all in one talk. With last years recordings, I was forced to look for a different solution for recording videos.

From 0 to BlackBerry 10

The fun starts at HelloWorld but doesn't stop there! In this practical hands on session we will start from an empty page, go through the best practice of building a mobile native app using the new application framework Cascades and finally package and deploy the application on the real device.
We will talk about quirks, security and much more around C++/Qt and Cascades development.

Asynchronous programming using the Boost Meta State Machine library

We'll use the Boost Meta State Machine library to write a small Qt application (a CD player simulation).
The asynchronous part will be given to us by Qt's event loop, which will forward events to a state machine serving as central dispatcher. This state machine will manage the whole application.


Der neue C++ Standard (C++11) veränderte die Sprache und die dazugehörende Standard - Bibliothek.

Nachdem viel auf die Sprachänderungen eingegangen wurde, ist es an der Zeit, sich die Änderungen an der Standard – Bibliothek näher anzusehen.

Viele der neuen Spracherweiterungen entstanden aus den Anforderungen an die Bibliotheksentwicklung (Beispiel R-Value References).

Modern C++ Network Programming

This talk will first give a short overview of the current state of network programming in C++, in particular showing what is considered useful to standardise. Then, it will present a roadmap that the ISO study group on networking will attempt to follow as it progresses. Finally, concrete examples will be presented of the more mature existing library proposals.

C++ AMP (GPGPU Computing)

Meet C++ AMP (Accelerated Massive Parallelism), an abstraction layer on top of accelerators such as GPUs. In its current version it allows you to run code on any DX11 GPU, independent of the vendor, and it will even distribute workload across GPUs of different vendors simultaneously. C++ AMP was originally designed by Microsoft but is now an open standard.

Developing cross-platform apps and games in C++

Marmalade is a software development tool that allows developers to deploy to multiple operating systems from a single C++ codebase.  Marmalade’s flexible approach to development gives creators the chance to focus on programming rather than device compatibility.

In this talk our Senior Developer, Nick Smith, will take an under-the-hood look at Qubit, a game built with Marmalade by our sister studio, Marmalade Game Studio, and currently on iOS, Android, BlackBerry 10 and shortly Windows Phone 8 and selected smart TVs.

Efficient Team Development for C++ Projects

Developing Software in Teams is a challenge. It’s about communication to stakeholders and Team members. Communicating Code changes via Code review, the graphically results of your Debugging Session to a college, the Product Backlog or simply chatting with your peer. Communication is important and can cause Freedom or Hell.

Keynote: C++11 and No-Compromise Library Design

If you're writing reusable code and you're not taking full advantage of C++11's new features, stop what you're doing! The rules have changed, from the bottom -- like parameter-passing -- to the top -- like library versioning. Code written with C++11 can be more modular and composable than ever, with easier and safer-to-use interfaces, with better template error messages, and with less boilerplate.

Keynote: Aesthetics. UI. C++.

Description Haiku:

smile the senses
expose functionality
what are these symbols