WHAT:
Added host_abstract metafunction to do reverse of hosts_concrete.
WHY:
solve problem when concrete val or ref passed to functor. In this case, hosts_concrete<HostConcrete>::type is undefined, resulting in compile-time error:
http://groups.google.com/group/comp.lang.c++/msg/824f1eac9a49d40d
WHYNOT:
1) requires defining specialization of host_abstract for each derived class. 2) causes conversion of a concrete class back to its abstract class and then extra virtual function calls to then convert back to concrete class.
1) requires defining specialization of host_abstract for each
derived class.
2) causes conversion of a concrete class back to its abstract
class and then extra virtual function calls to then convert back to concrete class.
-