This commit is contained in:
ven 2016-01-28 14:04:41 +01:00
parent 8792c10cc6
commit e1016455d5

View File

@ -967,10 +967,10 @@ v.swap(vector<Foo>());
// We start with constructing a tuple.
// Packing values into tuple
auto first = make_tuple(10,'A');
auto first = make_tuple(10, 'A');
const int maxN = 1e9;
const int maxL = 15;
auto second = make_tuple(maxN,maxL);
auto second = make_tuple(maxN, maxL);
// printing elements of 'first' tuple
cout << get<0>(first) << " " << get<1>(first) << "\n"; //prints : 10 A
@ -982,20 +982,20 @@ cout << get<0>(second) << " " << get<1>(second) << "\n"; // prints: 1000000000 1
int first_int;
char first_char;
tie(first_int,first_char) = first;
tie(first_int, first_char) = first;
cout << first_int << " " << first_char << "\n"; // prints : 10 A
// We can also create tuple like this.
tuple<int,char,double> third (11,'A',3.14141);
tuple<int, char, double> third(11, 'A', 3.14141);
// tuple_size returns number of elements in a tuple (as a constexpr)
cout << tuple_size < decltype(third) >::value << "\n"; // prints: 3
cout << tuple_size<decltype(third)>::value << "\n"; // prints: 3
// tuple_cat concatenates the elements of all the tuples in the same order.
auto concatenated_tuple = tuple_cat( first, second ,third);
// concatenated_tuple becomes = (10,'A',1e9,15,11,'A',3.14141)
auto concatenated_tuple = tuple_cat(first, second, third);
// concatenated_tuple becomes = (10, 'A', 1e9, 15, 11, 'A' ,3.14141)
cout << get<0>(concatenated_tuple) << "\n"; // prints: 10
cout << get<3>(concatenated_tuple) << "\n"; // prints: 15