--- David Abrahams <[EMAIL PROTECTED]> wrote: > You can do that, but IIUC it won't get you where Genny's trying to go: > namely that if static_log2 happens to get adjusted so its parameter is > an unsigned long long constant, you can detect that without causing an > error.
No. Because in the real code I would have written: // actually in namespace detail typedef unsigned long static_log2_arg_type; // (*) template <static_log2_arg_type N> struct static_log2 {}; template <class T> struct argument_type; template < static_log2_arg_type x > // *** struct argument_type< static_log2<x> > { typedef static_log2_arg_type type; }; and the only point subject to modification would have been (*). My problem was just that I don't like to specify a value when retrieving the argument type. Genny. __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost