Biblioteca C ++ Tuple - obter

Descrição

É usado para obter o elemento e retorna uma referência ao Iº elemento da tupla tpl.

Declaração

A seguir está a declaração para 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;

Parâmetros

  • I - Ele contém a posição do elemento.

  • Types - Ele contém o tipo de elemento.

Valor de retorno

Ele retorna uma referência ao Iº elemento da tupla tpl.

Exceções

No-throw guarantee - esta função de membro nunca lança exceções.

Corridas de dados

lhs e rhs, são acessados ​​e até todos os seus membros são acessados.

Exemplo

No exemplo abaixo para 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;
}

A saída deve ser assim -

tuple contains: 20 and x