Herb Sutters ha menzionato i modelli vincolati (a.k.a. Concepts Lite) nel talk: Modern C++: What You Need to Know.Cosa sono i modelli vincolati?
So che boost ha un pacchetto di concetti in uso da anni, che consente di stampare abbastanza messaggi di errore, quando il meccanismo di deduzione del modello non riesce a trovare operatori, funzioni o ha schemi di violazione di accesso.
Ho riscontrato menzioni sul isocpp blog che esiste già un ramo sperimentale di gcc che implementa lo document proposing Concepts Lite. Tuttavia guardando attraverso l'attuale C++14 draft non sono riuscito a trovare alcun suggerimento se questo sarà già parte di C++14
.
Quindi le domande sono semplici:
- sarà Concetti Lite far parte di C++ 14? (Riferimento nello standard preferito. Non riuscivo a trovarne uno, e non ho molta familiarità con lo standard.)
- qual è la sintassi corretta di esso? (La proposta e le diapositive di Herb divergono qui e non so quale sia più aggiornato)
- potresti fornire un esempio minimo di un vincolo (predicato) e un modello vincolato?
NOTA: se si aspetta abbastanza a lungo Cercherò di ottenere il gcc ramo esecuzione e posso almeno dire nulla circa l'attuazione sperimentale, che però non implica la correttezza della sintassi.
* Concepts Lite fa parte di C++ 14? (Riferimento nello standard preferito * Cosa? Non c'è ancora lo standard C++ 14. Comunque, no, non saranno in C++ 14. Cercherò di trovare qualche riferimento/discussione .. – dyp
[La proposta] (http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3580.pdf) lo spiega abbastanza bene, non che rende questa domanda illegittima, non tutti vogliono leggere 30 pagine. – David
[Stroustrup dice sulla sua homepage] (http://www.stroustrup.com/C++11FAQ.html#what-concepts) che finiranno come TR in C++ 14. Non so come fino ad oggi sono comunque informazioni – dyp