C++ Weekly Episode 18: C++17's contexpr if—Jason Turner
Episode 18 of C++ Weekly.
C++17's constexpr if
by Jason Turner
About the show:
This week Jason previews C++17's upcoming "constexpr if" functionality.
By Jason Turner | Jul 5, 2016 10:20 AM | Tags: intermediate c++17
Episode 18 of C++ Weekly.
C++17's constexpr if
by Jason Turner
About the show:
This week Jason previews C++17's upcoming "constexpr if" functionality.
By Adrien Hamelin | Jul 4, 2016 08:00 AM | Tags: intermediate experimental c++11
Have you registered for CppCon 2016 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 2015 for you to enjoy. Here is today’s feature:
functional: What's New, And Proper Usage
by Stephan T. Lavavej
Summary of the talk:
functional gained lots of machinery in C++11, with further changes in C++14 and C++17. This talk will cover what's new in 11/14/17, focusing on how to use it properly. For example, you've probably used std::function, but do you know the criteria for activating the Small Functor Optimization? (It's not just being small!) We'll also look at bind(), mem_fn(), C++17's invoke(), and more.
By Adrien Hamelin | Jul 1, 2016 08:00 AM | Tags: community
Have you registered for CppCon 2016 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 2015 for you to enjoy. Here is today’s feature:
Grill the Committee
Summary of the talk:
What would you like to know about how the C++ Standard happens?
The panel is made up of members of the C++ Standards Committee and the audience asks the questions.
By Blog Staff | Jun 30, 2016 11:08 AM | Tags: None
Just in time for the Early Bird registration deadline tomorrow, CppCon dropped a new teaser video. Enjoy!
See what previous years' attendees had to say, then come join the festival.
By Adrien Hamelin | Jun 29, 2016 01:02 PM | Tags: intermediate community
Have you registered for CppCon 2016 in September? Don’t delay – Early Bird registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2015 for you to enjoy. Here is today’s feature:
Using Spirit X3 to Write Parsers
by Michael Caisse
Summary of the talk:
Parsing is a common problem in many domains. The complexity of using a library often pushes developers to ad-hoc solutions utilizing std::string manipulations, regular expressions, or nested if/switch statements. Most “quick hack” implementations are unmaintainable.
Spirit provides a Domain Specific Embedded Language (DSEL) that allows grammars to be described in a natural and declarative manner just like writing PEG or EBNF directly in your C++ code. X3 is the third major release of the Spirit library and improves both compile and run times while simplifying the much of the library.
In this tutorial session you will be introduced to Spirit X3, attribute parsing, and variety of tips to writing efficient and maintainable parsers. We will build a JSON parser during the session to illustrate techniques and usage of the library. This session is applicable toward anyone needing to parse data.
By Mark | Jun 28, 2016 11:50 PM | Tags: None
From NDC Oslo 2016:
Exploring C++17 and Beyond
by Mark Isaacson
About the video:
"[This is] a talk about playing with things that don't exist yet. The fun part, is that almost all of it is possible in C++ today. You don't need to wait. You can play with things like std::string_view and get the performance, safety/correctness, and self-documentation benefits today. You can write your own version of constexpr if that works just fine in C++11, lowering the barrier to entry for template branching and design by introspection. The one topic I talked about that you can't just try at home today is operator dot. Operator dot makes for some wonderful brain exercises. In this talk, I use it to implement contracts, specifically postconditions, in C++. In my talk from last year, I used it to let you mix in arbitrary code into any instance of any type. For anyone wondering what features are coming to C++ and when, I open the talk with a specific breakdown of what's new in C++17 and C++20. I also spend a moment talking about why things like concepts and modules didn't make it into C++17."
By Adrien Hamelin | Jun 27, 2016 01:46 PM | Tags: intermediate community
Have you registered for CppCon 2016 in September? Don’t delay – Early Bird registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2015 for you to enjoy. Here is today’s feature:
Modern User Interfaces for C++
by Milian Wolff
Summary of the talk:
The C++ language evolved significantly in the recent past, and so did many frameworks and libraries in the big ecosystem surrounding it.
For twenty years now, Qt is being used on a multitude of platforms to create native looking, compelling graphical user interfaces.
It offers C++ libraries and tools for building desktop, mobile and embedded applications. Qt gives engineers APIs for developing using two dimensional controls, integrating 3D using OpenGL, embedding web content, as well as a new declarative domain-specific language called QML, which is extensible using C++. Qt is also much more than a UI toolkit and provides a multitude of helper libraries for various use-cases, such as localization, database access, XML and JSON parsing and much more.
During this talk, I will give an introduction to Qt and present its capabilities in how it can be utilized to write modern UIs using C++, both in 2D as well as 3D. Additionally, I will show how some of its features, like the integrated web engine or QML, can be leveraged to go beyond C++. While at it, I hope to clear up some outdated misconceptions about Qt and its relationship to standard C++ and the STL as well as Boost and other libraries.
Finally, I will present the KDE Frameworks, an open source collection of high quality, cross platform Qt libraries that are being used by the KDE Software Collection. KDE frameworks are to Qt as Boost is to the STL. Recent development makes it simpler than ever to use these libraries in external applications.
By Jason Turner | Jun 27, 2016 09:11 AM | Tags: intermediate c++17
Episode 17 of C++ Weekly.
C++17's `std::invoke`
by Jason Turner
About the show:
This week Jason previews one of his favorite up coming new features of C++17: `std::invoke`.
By robwirving | Jun 26, 2016 05:10 AM | Tags: None
Episode 61 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Herb Sutter, chair of the ISO C++ standards committee, to discuss the latest progress on C++17 made at the Oulu ISO Standards meeting.
CppCast Episode 61: Oulu Trip Report with Herb Sutter
by Rob Irving and Jason Turner
About the interviewee:
Herb Sutter is a leading authority on software development. He is the best selling author of several books including Exceptional C++ and C++ Coding Standards, as well as hundreds of technical papers and articles, including the essay “The Free Lunch Is Over” which coined the term “concurrency revolution” and its recent sequel “Welcome to the Jungle” on the end of Moore’s Law and the turn to mainstream heterogeneous supercomputing from the cloud to ‘smartphones.’
Herb has served for a decade as chair of the ISO C++ standards committee, and is a software architect at Microsoft where he has led the language extensions design of C++/CLI, C++/CX, C++ AMP, and other technologies.
By Adrien Hamelin | Jun 24, 2016 01:02 PM | Tags: performance advanced
Have you registered for CppCon 2016 in September? Don’t delay – Early Bird registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2015 for you to enjoy. Here is today’s feature:
Executors for C++ - A Long Story ...
by Detlef Vollmann
Summary of the talk:
Executors will be a base building block in C++ for asynchronous, concurrent and parallel work. The job of an executor is simple: run the tasks that are posted. So the first proposals for executors in C++ had a very simple interface. However, being a building block, the executor should provide an interface that's useful for all kind of higher level abstractions and needs to work together with different types of concurrency, like co-operative multi-tasking or GPU like hardware. This presentation will look at the evolution of the executor proposals for C++ and what they'll provide for normal application programmers.