// This file is part of Eigen, a lightweight C++ template library // for linear algebra. // // Copyright (C) 2017 Gagan Goel <[email protected]> // Copyright (C) 2017 Benoit Steiner <[email protected]> // // This Source Code Form is subject to the terms of the Mozilla // Public License v. 2.0. If a copy of the MPL was not distributed // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. #ifndef EIGEN_CXX11_TENSOR_TENSOR_TRACE_H #define EIGEN_CXX11_TENSOR_TENSOR_TRACE_H // IWYU pragma: private #include "./InternalHeaderCheck.h" namespace Eigen { /** \class TensorTrace * \ingroup CXX11_Tensor_Module * * \brief Tensor Trace class. * * */ namespace internal { traits<TensorTraceOp<Dims, XprType>>; eval<TensorTraceOp<Dims, XprType>, Eigen::Dense>; nested<TensorTraceOp<Dims, XprType>, 1, typename eval<TensorTraceOp<Dims, XprType>>::type>; } // end namespace internal template <typename Dims, typename XprType> class TensorTraceOp : public TensorBase<TensorTraceOp<Dims, XprType> > { … }; // Eval as rvalue TensorEvaluator<const TensorTraceOp<Dims, ArgType>, Device>; } // End namespace Eigen #endif // EIGEN_CXX11_TENSOR_TENSOR_TRACE_H