it my implemention, i use BOOST_TYPEOF instead of typeof(). it seems work well for gcc and vc7.1 ,
#include //for member
#include //for const_mem_fun
using boost::multi_index::member;
using boost::multi_index::const_mem_fun;
#include
/* MEMBER */
template<typename T>
struct get_details;
template
struct get_details
{
typedef Class class_type;
typedef Member member_type;
};
#define MEMBER(MemPtr) \
member< \
get_details::class_type, \
get_details::member_type, \
MemPtr>
/* CONST_MEM_FUN */
template<typename T>
struct get_fun_details;
template
struct get_fun_details
{
typedef Class class_type;
typedef Type member_type;
};
#define CONST_MEM_FUN(MemFunPtr) \
const_mem_fun< \
get_fun_details::class_type, \
get_fun_details::member_type, \
MemFunPtr>