OutputTensorInfo

struct OutputTensorInfo {
  uint32_t data_type;               // data type
  std::vector<int64_t> dims;        // shape description
  std::unique_ptr<uint8_t[]> data;  // tensor data
  int64_t length;                   // tensor length
  OutputTensorInfo() : data_type(0), dims({}), data(nullptr), length(0) {}
  OutputTensorInfo(OutputTensorInfo &&out) :
    data_type(out.data_type),
    dims(out.dims),
    data(std::move(out.data)),
    length(out.length) {}

  OutputTensorInfo &operator=(OutputTensorInfo &&out) {
    if(this != &out) {
      data_type = out.data_type;
      dims = out.dims;
      data = std::move(out.data);
      length = out.length;
    }
    return *this;
  }
  OutputTensorInfo(const OutputTensorInfo &) = delete;
  OutputTensorInfo &operator=(const OutputTensorInfo &) = delete;
};