Param_Info/param_info_deduction_guides.cpp (13 lines of code) (raw):
// C++17 deduction guides are parsed. Type info is calculated.
// Call Parameter info at c.insert() to get the type inferred correctly.
#include <vector>
template <class T>
struct container {
template <class Iter> container(Iter, Iter);
void insert(T arg);
//...
};
template <class Iter>
container (Iter, Iter)
-> container<typename std::iterator_traits<Iter>::value_type>;
void check_dg(std::vector<int> v) {
container c(v.begin(), v.end());
c.insert(100);
}