Program Listing for File type.h

Return to documentation for file (include/converter/include/mindapi/ir/type.h)

#ifndef MINDSPORE_CORE_MINDAPI_IR_TYPE_H_
#define MINDSPORE_CORE_MINDAPI_IR_TYPE_H_

#include "mindapi/base/base.h"
#include "mindapi/base/type_id.h"
#include "mindapi/ir/common.h"
#include "mindapi/ir/value.h"

namespace mindspore::api {
class MIND_API Type : public Value {
 public:
  MIND_API_BASE_MEMBER(Type);

  TypeId type_id() const;

  TypeId number_type() const;

  static TypePtr GetType(TypeId id);

  static size_t GetSize(TypeId id);
};

class MIND_API TensorType : public Type {
 public:
  MIND_API_BASE_MEMBER(TensorType);

  explicit TensorType(const TypePtr &element_type);

  TypePtr element() const;
};

using TensorTypePtr = SharedPtr<TensorType>;
}  // namespace mindspore::api

#endif  // MINDSPORE_CORE_MINDAPI_IR_TYPE_H_