#ifndef EIGEN_CXX11_TENSOR_TENSOR_REF_H
#define EIGEN_CXX11_TENSOR_TENSOR_REF_H
#include "./InternalHeaderCheck.h"
namespace Eigen {
namespace internal {
template <typename Dimensions, typename Scalar>
class TensorLazyBaseEvaluator { … };
template <typename Dimensions, typename Expr, typename Device>
class TensorLazyEvaluatorReadOnly
: public TensorLazyBaseEvaluator<Dimensions, typename TensorEvaluator<Expr, Device>::Scalar> { … };
template <typename Dimensions, typename Expr, typename Device>
class TensorLazyEvaluatorWritable : public TensorLazyEvaluatorReadOnly<Dimensions, Expr, Device> { … };
template <typename Dimensions, typename Expr, typename Device>
class TensorLazyEvaluator : public std::conditional_t<bool(internal::is_lvalue<Expr>::value),
TensorLazyEvaluatorWritable<Dimensions, Expr, Device>,
TensorLazyEvaluatorReadOnly<Dimensions, const Expr, Device> > { … };
}
template <typename PlainObjectType>
class TensorRef : public TensorBase<TensorRef<PlainObjectType> > { … };
TensorEvaluator<const TensorRef<Derived>, Device>;
TensorEvaluator<TensorRef<Derived>, Device>;
}
#endif