Remove t_ptr typedef and shared_ptr constructor with make_shared
Remove t_ptr typedef and duplicate class definition
Replace t_ptr reference with shared_ptr
Replace t_ptr reference with shared_ptr