
From: David Abrahams <dave@boost-consulting.com>
Rob Stewart <stewart@sig.com> writes:
From: David Abrahams <dave@boost-consulting.com>
suggested terminology works. So "free_or_static" should be "nonmember."
No way. "Nonmember" precludes static member functions. They may have the same type as nonmember functions, and aren't represented with member function pointers, but they are still member functions.
Way. We are not talking about the functions, we're talking about their types. In other words, the traits do not inspect individual values of int (*)(int) -- they inspect the type int(*)(int) itself. I don't think there's any problem with calling int(*)(int) a nonmember function pointer type.
If you're thinking about whether the type is that of a static member function, then you won't be thinking that you should use "nonmember." -- Rob Stewart stewart@sig.com Software Engineer http://www.sig.com Susquehanna International Group, LLP using std::disclaimer;