boost smart pointers with memory managers