Talks at the Meeting C++ 2012 Conference
Asynchronous Input/Output with boost.asio
Boost.Asio is the library to turn to whenever you want to initiate an operation without calling a blocking function and waiting for it to return. This is especially important if you access resources outside of your program. First, you don't want a slow external resource to halt your program. Secondly, you don't want to give up concurrency if your program and the external resource could do their jobs at the same time.
odeint – Solving ordinary differential equations in C++
Ordinary differential equations (ODEs) play a major role in many scientific and engineering disciplines. Examples range from classical Newtonian mechanics, chemical reaction equations, rate equations in population dynamics or quantum systems to neuronal system, to name only a few. Furthermore, they occur naturally as discretizations of partial differential equations (PDEs).
HPX -- A unifying Parallel Runtime System written in C++
This talk will demonstrate the novel HPX runtime system and will talk about how current and future versions of C++ will benefit from the new ways of parallelism exposed by these approaches.
The HPX runtime system is a modular, feature-complete, and performance-oriented representation of the ParalleX execution model targeted at conventional parallel computing architectures such as SMP nodes and commodity clusters.
Designing Architecture-aware Libraries with boost.proto
Embedded Domain Specific Languages (EDSL) are great tools to design both efficient and expressive library. One of the various way to do so is to build C++ library based on the Expression templates idiom. However, many projects using expression templates rely on a manual rewrite of the expression system, leading to poorly scalable, hard to retarget code.
boost.SIMD: Generic Programming for portable SIMDimization
SIMD extensions have been a feature of choice for processor manufacturers for a couple of decades. Designed to exploit data parallelism in applications at the instruction level, these extensions still require a high level of expertise or the use of potentially fragile compiler support or vendor-specific libraries.
C++11: An Overview
After 13 years the ISO approved a new C++ standard, or C++11 in short. C++11 has much to offer and will prepare C++ programmers for the future. This lecture will present the new great features of C++11. I will cover the core language, the new threading capabilities and the improved standard library.
Lambdas in C++11
An Introduction on the C++11 Lamdas. Lambdas become with C++11 an essential part of C++, and are a elegant replacement for functions and functionobjects. Beside the Introduction the talk focuses on usecases for lambdas, as in the context of STL algorithms or how to store them in a container together with functionobjects.
R-Value References and Move-Constructors in C++11
In some C++ programs temporary objects can become a great performance Issue, as sometimes temporary, unneeded copies are created implicid by the compiler. To adress this problem in C++11, rvalue references and move constructors were created. They can help to avoid the creation of temporary objects.
Functional Programming in C++11
C++ is a multiparadign language, as such the programmer may choose and combine between structrual, procedural, objectoriented, generic or functional features of C++. Especially the functional aspect of C++ has grown in C++11, with lambdas, variadic templates and the new STL functions bind and functions.
Founding local communities for C++
I'd like to talk about my expierences with community work for C++, and MeeGo/Qt. I got involved in organising local meetings for MeeGo. Last year I started in Düsseldorf a local monthly meeting for C++, which led to the founding of the C++ User Group, which is also the base for this conference. With this talk I want to motivate people, to start their own User Groups, or get involved if they already exist.
Introduction to boost.geometry
Boost.Geometry is the generic geometry library included in Boost since 2011. Boost.Geometry contains algorithms such as intersection, union, difference, distance, area, centroid and convex hull. The library contains its own point, line, and polygon types, but it is template based and allows the user to use its own point/line/polygon types.
Case study in C++11: inheritance-free polymorphism
C++ is a multi-paradigm programming language. Let's throw away the notion of class inheritance and virtual members for a moment and see another way how C++11 might be used to build up modern multithreaded application logic with a functional programming style and nonintrusive polymorphism. This talk discusses the implementation and use cases of the proof-of-concept library Poly.
Mobile Apps Development for BlackBerry 10 using C++ & Qt
This session is intended to introduce you the BlackBerry Native SDK and it’s capabilities by showing two different ways of developing a native app. The first way is showing the pure C/C++ approach and is especially convenient for Games and Libs developers. The second way is the more comfortable using the Qt based Blackberry Cascades UI framework.
Network programming with boost.asio
Network functions are a prime example of asynchronous operations. So it shouldn't come at a surprise that Boost.Asio provides many classes and functions to read and write data over a network. You will learn what the important classes and functions are and how to build client and server programs. If you are not familiar with the design and concepts of Boost.
VexCL: Vector expression template library for OpenCL
OpenCL is the first open, royalty-free standard for cross-platform, parallel programming of modern processors found in personal computers, servers, and handheld/embedded devices. The weakest side of OpenCL is lack of tools and libraries around it and the amount of boilerplate code needed to develop OpenCL applications.
Massively Parallel Computations using Parallel Index Set in C++
In many parallel scientific codes we do not deal with distributed objects but rather with distributed containers. These codes exhibit recurring communication schemes that only send some entries of the container to other cores. The communicated type might change in the algorithm while the scheme stays the same.
Observe your neighbors and remove your seatbelt
One of the cornerstones of Qt is a system of communication between instances of objects in a many-to-many relationship. The signals and slots system is familiar to all users of the Qt Frameworks, and can be used to indicate when something happens in a UI, or on a network socket or other subsystem.
C++11 in Qt5: Challanges and Solutions
Qt5, the next major release of the well-known Qt Framework, is scheduled to be released later this year. As a C++ framework, its development is of course heavily influenced by C++11, the newly-minted version of the C++ Language, finalised last year, and slowly becoming available in all major compilers.
C++ Math: Boost uBlas with Intel MKL
It has been always attractive to extended C or C++ beyond the standardized set of math functions. The foundations of C++ made this even more attractive since the introduction of user-defined types along with operator overloading allows to seamlessly integrate new math functionality with the language's built-in operators.
Getting Started with Task-based Concurrency for C++ by using Intel TBB
Intel Threading Building Blocks (Intel TBB) is an open source library that is not only maintained by Intel but actively evolved (community preview features) and commercially aligned with Intel's software development products. Intel TBB is ported, influenced, reviewed, and widely adopted by the community as well as the industry.
LibTooling - building tools for C++ with Clang API
The talk gives an overview on how to build you own Tools for C++. This is done by using LibTooling, a library from the clang project, which lets you utilize the power of Clang in C++ for C++. LibTooling is a C++ interface aimed at writing standalone tools, as well as integrating into services that run clang tools.
Keynote - Good C++11 Coding Style
What is good C++11 coding style? Although just ratified in late 2011, we already have early implementations to show us the path to good coding style. Indeed, much of C++11 was designed following rules to allow us to to achieve a superior coding style rather than the litter of bad code that was normal in C++98/03.