1#pragma once
2
3// @generated by torchgen/gen.py from NativeMetaFunction.h
4
5#include <c10/core/Scalar.h>
6#include <c10/core/Storage.h>
7#include <c10/core/TensorOptions.h>
8#include <c10/util/Deprecated.h>
9#include <c10/util/Optional.h>
10#include <c10/core/QScheme.h>
11#include <ATen/core/Reduction.h>
12#include <ATen/TensorIterator.h>
13#include <ATen/TensorMeta.h>
14#include <tuple>
15#include <vector>
16
17namespace at {
18namespace meta {
19
20struct TORCH_API structured_index_reduce : public at::impl::MetaBase {
21
22 template <bool DIM = false>
23 struct TORCH_API precompute_out {
24
25 precompute_out<true> set_dim(int64_t value) {
26 static_assert(DIM == false, "dim already set");
27 precompute_out<true> ret;
28ret.dim = value;
29return ret;
30 }
31
32 int64_t dim;
33 };
34 using meta_return_ty = precompute_out <true>;
35 meta_return_ty meta(const at::Tensor & self, int64_t dim, const at::Tensor & index, const at::Tensor & source, c10::string_view reduce, bool include_self);
36};
37
38} // namespace native
39} // namespace at
40