1 #pragma once 2 #include <c10/core/QScheme.h> 3 4 // Forward declarations of core ATen types used in dispatch functions 5 namespace c10 { 6 7 template<typename T> 8 class List; 9 template<typename T> 10 class IListRef; 11 class Stream; 12 class Scalar; 13 class SymInt; 14 class SymIntList; 15 struct Storage; 16 struct TensorOptions; 17 template <typename T> 18 class ArrayRef; 19 template <typename T> 20 class OptionalArrayRef; 21 22 } // namespace c10 23 24 namespace at { 25 26 class Tensor; 27 class OptionalTensorRef; 28 struct Dimname; 29 struct Generator; 30 using TensorList = c10::ArrayRef<Tensor>; 31 using ITensorListRef = c10::IListRef<Tensor>; 32 using IOptTensorListRef = c10::IListRef<OptionalTensorRef>; 33 using DimnameList = c10::ArrayRef<Dimname>; 34 using IntArrayRef = c10::ArrayRef<int64_t>; 35 using OptionalIntArrayRef = c10::OptionalArrayRef<int64_t>; 36 using OptionalSymIntArrayRef = c10::OptionalArrayRef<c10::SymInt>; 37 38 using c10::Stream; 39 using c10::Storage; 40 using c10::QScheme; 41 using c10::Scalar; 42 using c10::SymInt; 43 using c10::SymIntList; 44 using c10::TensorOptions; 45 46 } // namespace at 47