template<typename T> using B = int; template<template<typename> class X> struct C; C<A> ca; // ok C<B> cb; // ok, not a class template template<template<typename> typename X> struct D; // error, cannot use typename here
P0145R0 Refining Expression Evaluation Order for Idiomatic C++ (Revision 1) http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0145r0.pdf P0145R1 Refining Expression Evaluation Order for Idiomatic C++ (Revision 2) http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0145r1.pdf P0145R2 Refining Expression Evaluation Order for Idiomatic C++ http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0145r2.pdf P0145R3 Refining Expression Evaluation Order for Idiomatic C++ http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0145r3.pdf 35
"but I have heard it works even if you don’t believe in it"; s.replace(0, 4, "").replace(s.find("even"), 4, "only") .replace(s.find(" don’t"), 6, ""); assert(s == "I have heard it works only if you believe in it"); }
"but I have heard it works even if you don’t believe in it"; s.replace(0, 4, "").replace(s.find("even"), 4, "only") .replace(s.find(" don’t"), 6, ""); assert(s == "I have heard it works only if you believe in it"); }