#pragma once
#include<c10/core/StorageImpl.h>
#include"torch_npu/csrc/core/NPUTensorImpl.h"
#include"torch_npu/csrc/core/NPUStorageImpl.h"
namespace torch_npu {
class NPUBridge {
public:
static NPUStorageImpl* GetNpuStorageImpl(const at::Tensor &tensor);
static NPUStorageImpl* GetNpuStorageImpl(c10::StorageImpl* storageImpl);
static NPUStorageImpl* GetNpuStorageImpl(c10::Storage&& storage);
static NPUStorageDesc& GetNpuStorageImplDesc(const at::Tensor &tensor);
static NPUTensorImpl* GetNpuTensorImpl(const at::Tensor& tensor);
};
}