#if !defined(NDEBUG) #define BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING #define BOOST_MULTI_INDEX_ENABLE_SAFE_MODE #endif #include #include #include #include #include #include using boost::multi_index_container; using namespace boost::multi_index; class A { public: A(){}; virtual ~A(){}; unsigned int id; }; class B : public A { public: B(){}; virtual ~B(){}; typedef boost::shared_ptr pointer; }; struct tid{}; typedef multi_index_container< B::pointer, indexed_by< ordered_unique< tag, member > > > mic; int main(int argc, char *argv[]) { mic MyMic; }