C++ Tuple Library - get



Description

It is used to get element and returns a reference to the Ith element of tuple tpl.

Declaration

Following is the declaration for std::get.

C++98

		
template <size_t I, class... Types>
typename tuple_element< I, tuple<Types...> >::type& get(tuple<Types...>& tpl) noexcept;	
template <size_t I, class... Types>
typename tuple_element< I, tuple<Types...> >::type&& get(tuple<Types...>&& tpl) noexcept;
template <size_t I, class... Types>
typename tuple_element< I, tuple<Types...> >::type const& get(const tuple<Types...>& tpl)
   noexcept;

C++11

template <size_t I, class... Types>
typename tuple_element< I, tuple<Types...> >::type& get(tuple<Types...>& tpl) noexcept;
template <size_t I, class... Types>
typename tuple_element< I, tuple<Types...> >::type&& get(tuple<Types...>&& tpl) noexcept;
template <size_t I, class... Types>
typename tuple_element< I, tuple<Types...> >::type const& get(const tuple<Types...>& tpl)
   noexcept;

Parameters

  • I − It contains the position of element.

  • Types − It contains the type of element.

Return Value

It returns a reference to the Ith element of tuple tpl.

Exceptions

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

Data races

lhs and rhs, are accessed, and up to all of its members are accessed.

Example

In below example for std::get.

#include <iostream>
#include <tuple>

int main () {
   std::tuple<int,char> mytuple (10,'x');

   std::get<0>(mytuple) = 20;

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

   return 0;
}

The output should be like this −

tuple contains: 20 and x
tuple.htm
Advertisements