Boost
C++ Libraries
...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
This is an older version of Boost and was released in 2020. The current version is 1.89.0.
Arguments are also functions? You bet!
Until now, we have been dealing with expressions returning a nullary function. Arguments, on the other hand, evaluate to an N-ary function. An argument represents the Nth argument. There are a few predefined arguments arg1, arg2, arg3, arg4 and so on (and it's BLL counterparts: _1, _2, _3, _4 and so on). Examples:
arg1 // one-or-more argument function that returns its first argument arg2 // two-or-more argument function that returns its second argument arg3 // three-or-more argument function that returns its third argument
argN returns the Nth argument.
Examples:
int i = 3; char const* s = "Hello World"; std::cout << arg1(i) << std::endl; // prints 3 std::cout << arg2(i, s) << std::endl; // prints "Hello World"
(See arguments.cpp)
Learn more about arguments here.