Dive into C++14 - [2] - `for_each_argument` explained and expanded -- Vittorio Romeo

Vittorio Romeo covers in his second tutorial a very interesting code snippet originally posted on Twitter by Sean Parent `for_each_argument`.

Dive into C++14 - Part 2

by Vittorio Romeo

About the tutorial:

It shows and explains the usage of C++14 compile-time integer sequences, and analyzes a very interesting iterative implementation of an alternative version of Sean's function that takes the desired arity as a template parameter.

This tutorial video is a reviewed and improved version of my C++Now 2015 lightning talk ("`for_each_arg` explained and expanded").

Some possible use cases for the implemented functions are also shown and analyzed:

  • `make_vector(...)`
  • `forTuple` - iteration over tuple elements
  • `make_unordered_map(...)`

The target audience is people with knowledge of C++11 features and some C++14 experience.

Previous episodes are here: Playlist

CppCon 2014 A Deep Dive into 2 Cross-Platform Mobile Apps Written in C++--T. Grue & S. Kabbes

Have you registered for CppCon 2015 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 2014 for you to enjoy. Here is today’s feature:

A Deep Dive into 2 Cross-Platform Mobile Apps Written in C++

by T. Grue & S. Kabbes

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

At Dropbox we’ve spent the last year and a half building two cross platform mobile apps: the email client, Mailbox, and the photo gallery, Carousel. We started with the goal of a native look and feel with seamless performance but also needed to leverage a small team to build these apps on multiple platforms. We ultimately accomplished this by using C++ to share significant amounts of code in each app.

We’ll cover what portions of our apps we built in C++ and why we left some portions in the platform languages of Java and Objective-C, deep diving into some of the most important components. We’ll also discuss some unexpected benefits, areas we faced technical and human challenges, and some tips and tricks that you can use to leverage C++ to build very high performance apps.

10 tips to be productive in CLion, cross-platform C/C++ IDE -- Anastasia Kazakova

An article on how to improve your productivity when using CLion IDE.

10 tips to be productive in CLion

by Anastasia Kazakova

From the article:

Judging from my own experience as a developer, many C/C++ developers dismiss the idea that an IDE can make them more productive. Because what could be better than the simple and quick Vim or Emacs? Well, let me show you. These 10 CLion tips can take you to a new level of productivity, by letting you focus on the important and complicated tasks while the IDE handles routine jobs for you.

From Smart Code Completion to Inline Variables View...

CppCon 2014 Attendee Video -- CppCon.org

Registration is open for CppCon 2015 this September. If you're considering going, but aren't sure what to expect, check out the two-minute video below to get a feel for the event:

CppCon 2014 Attendee Video

Also in the announcement, more good ammunition for telling your manager why you and your colleagues need to attend this year:

If you are thinking about attending CppCon 2015, but you are still on the fence because you didn’t attend last year’s conference here are some tips to help you decide.

  • You can check out the program from last year to see what kind of sessions we’ll likely have this year.
  • You can check out last year’s speakers to see the type of speakers who you likely get to meet this year.
  • You can watch last year’s sessions on YouTube or Channel 9.
  • You can watch this video [above] with comments from some of last year’s attendees.

Nugget: static_assert--Glennan Carnie

A short nugget by Glennan Carnie:

static_assert

by Glennan Carnie

From the article:

C’s assert library is a useful tool for catching invalid invariants (conditions that must hold true in order for your system to operate as specified) in your program. The big problem with assert is that it’s a run-time check; in many cases the best you can do  to recover from an assert failure is restart the system or put it into a quiescent state...

CppCon 2014 What did C++ do for Transactional Memory?--Michael Wong

Have you registered for CppCon 2015 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 2014 for you to enjoy. Here is today’s feature:

What did C++ do for Transactional Memory?

by Michael Wong

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

SG5 is a Study Group within WG21 developing a promising new way to deal with mutable shared memory, that is expected to be more usable and scalable than current techniques based on atomics and mutexes. It promises to be as easy to use as coarse-grained locks, as scalable as fine-grained locks and yet remain composable.

Find out where on the Gartner hype cycle lives Transactional Memory.
Is it at the Peak of Inflated Expectations, Trough of Disillusionment, Slope of Enlightenment, or Plateau of Productivity?

For that matter, just how soon will I be able to use it with the new Intel Haswell, and IBM Power Hardware, or is it one of those mirages where the closer you get to your hardware, the further it moves away.

And is it true that one of the lead author of this TM proposal also wrote "Is it just a Research Toy?"

This 60 minute advanced talk will cover the history of Transactional Memory, various lock elision and optimistic speculation techniques, the technical engine behind Transactional Memory, the recent research in its use cases, usability and performance data that supports its entry into the C++ Standard, and of course the latest details of the SG5 Technical Specification, including our effort at transactionalizing the C++ Standard Library.

CppCon 2014 Modern Template Metaprogramming: A Compendium, Part II--Walter E. Brown

Have you registered for CppCon 2015 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 2014 for you to enjoy. Here is today’s feature:

Modern Template Metaprogramming: A Compendium, Part II

by Walter E. Brown

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Template metaprogramming has become an important part of a C++ programmer's toolkit. This talk will demonstrate state-of-the-art metaprogramming techniques, applying each to obtain representative implementations of selected standard library facilities.

Along the way, we will look at void_t, a recently-proposed, extremely simple new new type_traits candidate whose use has been described by one expert as "highly advanced (and elegant), and surprising even to experienced template metaprogrammers."