- static T &v;
-
- /* The expression must depend on the template parameter, or the compiler
- will give an error. */
- template<typename U>
- static Yes f(int (*)[sizeof(s<<HasFormattedOutput<U>::v)]);
- template<typename U>
- static No f(...);
-
- enum { value = Evaluate<sizeof(f<T>(0))>::value };