C++ Tuple Library - make_tuple


Advertisements

Description

It cnstructs an object of the appropriate tuple type to contain the elements specified in args.

Declaration

Following is the declaration for std::make_tuple.

C++98

	
template<class... Types>
   tuple<VTypes...> make_tuple (Types&&... args);

C++11

template<class... Types>
   tuple<VTypes...> make_tuple (Types&&... args);

Parameters

args − It contains list of elements that the constructed tuple shall contain.

Return Value

It returns a tuple object of the appropriate type to hold args.

Exceptions

No-throw guarantee − this member function never throws exceptions.

Data races

If any type in Types is an rvalue reference of a type supporting move semantics, its corresponding argument is modified.

Example

In below example for std::make_tuple.

#include <iostream>
#include <tuple>
#include <functional>

int main() {
   auto first = std::make_tuple (10,'a');

   const int a = 0; int b[3];
   auto second = std::make_tuple (a,b);

   auto third = std::make_tuple (std::ref(a),"abc");

   std::cout << "third contains: " << std::get<0>(third);
   std::cout << " and " << std::get<1>(third);
   std::cout << std::endl;

   return 0;
}

The output should be like this −

third contains: 0 and abc
tuple.htm
Advertisements