boost::shared_array -> std::unique_ptr | std::shared_ptr