Explicitely remove implementation from Tensor
Tensor might change its implementation during its lifetime. Current implementation is based on the implementation being held through a std::unique_ptr
. It would be more generic to add a private implementation removal function that must be explicitly called when changing implementation or when releasing the tensor.
If we change the implementation pointer type, it would then be easier to propagate the change by changing few codes, the implementation removal among them.