typedef shared_ptr to ptr and dynamic_ptr_cast to dptrcast