2014-10-20 7 views
8

Nelle sue talk at cppcon (~ 13 min a), Andrew Sutton afferma che si "presto" in grado di scrivereautomatico nella lista parametri di funzione che implica template argomento

auto func(auto a, auto b) { ... } 

che sarà presa a significare

template <typename T, typename U> auto func(T a, U b) { ... } 

proprio come è stato introdotto per lambda generico in C++ 14.

  1. Qual è il nome di questa funzione?

  2. È una parte di Concepts Lite o è stata proposta separatamente?

  3. Questo ovviamente non è stato convertito in C++ 14 se è stato effettivamente proposto; se qualcuno lo sa, quali sono le obiezioni sollevate contro di esso?

+2

È possibile scrivere questo in GCC come estensione. ['Esempio live'] (http://coliru.stacked-crooked.com/a/38bef5ed2f92c361) –

risposta

6
  1. abbreviati Modelli di Funzione
  2. Sì, è parte di Concetti Lite
  3. E 'nei concetti TS, che era in nessun posto vicino di essere pronto per C++ 14.

Leggere tutto su di esso in the latest draft of the concepts TS.

+1

Grazie per la rapida risposta. Anche se devo dire che il nome "funzioni generiche" sembra un po ', beh, generico ... –

+0

@TristanBrindle È * usato * per essere "funzioni generiche", per estensione del nome "lambdas generici". Dimenticavo che le versioni più recenti di TS utilizzavano invece il nome "funzione abbreviata". Probabilmente per esattamente il motivo per cui lo hai specificato. – Casey

+0

@TristanBrindle ... e ora è noto come [Modello funzione abbreviato] (https://github.com/cplusplus/concepts-ts/commit/421e2780a4887ee2920484894f59a1a851ac7ddb). – Casey

Problemi correlati