
Alexei Alexandrov <alexei.alexandrov <at> gmail.com> writes:
Joaquín Mª López Muñoz <joaquin <at> tid.es> writes:
struct base_record_if_extractor: public BOOST_MULTI_INDEX_CONST_MEM_FUN(base_record, int, get_id) {};
Does this improve things?
Yes, with this extractor it compiles OK.
OK. Does this solve your original problem? Since I'm not confident we can fix the underlying problem, you'll probably have to stick to this workaround.
* As for why MSVC 7.1 is choking, the error trace seems to indicate that boost::is_function is having a hard time with types involving virtual inheritance.
The following is an attempt at reducing the problem to its essentials. Could you try whether MSVC 7.1 still fails at this? If so, can you try to reduce the test case some more?
This code piece compiles just fine.
Too bad :( Well, maybe you can start with your original snippet and start deconstructing it til you get to a simpler formulation we can present to type_traits authors (I'm afraid I can't do it myself, I don't have that compiler as I said before.) First thing I'd do, try to eliminate the use of multi_index_container and replace it with instantiations of the form boost::is_function<const_mem_fun<...> >. Please come back to me if you decide to do this. Best, Joaquín M López Muñoz Telefónica, Investigación y Desarrollo