Prior to C++17, there were two standard ways of accessing elements of a std::tuple:
- For accessing single elements, the static function std::get<N>(tuple) was used.
- For accessing multiple elements, the static function std::tie() was used.
Although they both worked, the syntax was for performing such a simple task was very verbose, as shown in the following example:
// Prerequisite auto make_bond() { return std::make_tuple(std::string{"James"}, 7, true) } // Using std::get<N> auto tpl = make_bond(); auto name = std::get<0>(tpl); auto id = std::get<1>(tpl); auto kill_license = std::get<2>(tpl); std::cout << name << ", " << id << ", " << kill_license << '\n'; // Output: James, 7, true // Using std::tie auto name = ...