Multiple parameter packs

Basically, it reduces to pack parameters together into a a std::tuple-like template class. Here's the explanation.…

Parameters vs. arguments

I love being pedantic with students :) These two terms are sometimes loosely used interchangeably; in particular, "argument" is sometimes used in place of "parameter". Nevertheless, there is a difference. Properly, parameters appear in procedure definitions; arguments appear in procedure calls. Source…

std::decay

std::decay returns the type of a parameter, as if that parameter was passed by value. Interesting interpretation. I always intended std::decay as a way to deduce the type resulting from array to pointer decay. But this is indeed limiting, as stated by cppreference: This is the type conversion…