10 #ifndef EIGEN_CXX11_TENSOR_TENSOR_IO_H
11 #define EIGEN_CXX11_TENSOR_TENSOR_IO_H
17 struct significant_decimals_impl<std::string>
18 : significant_decimals_default_impl<std::string, true>
24 std::ostream& operator << (std::ostream& os, const TensorBase<T, ReadOnlyAccessors>& expr) {
26 TensorForcedEvalOp<const T> eval = expr.eval();
27 TensorEvaluator<const TensorForcedEvalOp<const T>, DefaultDevice> tensor(eval, DefaultDevice());
28 tensor.evalSubExprsIfNeeded(NULL);
30 typedef typename internal::remove_const<typename T::Scalar>::type Scalar;
31 typedef typename T::Index Index;
32 typedef typename TensorEvaluator<const TensorForcedEvalOp<const T>, DefaultDevice>::Dimensions Dimensions;
33 const Index total_size = internal::array_prod(tensor.dimensions());
36 static const int rank = internal::array_size<Dimensions>::value;
38 os << tensor.coeff(0);
39 }
else if (rank == 1) {
40 Map<const Array<Scalar, Dynamic, 1> > array(const_cast<Scalar*>(tensor.data()), total_size);
43 const Index first_dim = Eigen::internal::array_get<0>(tensor.dimensions());
44 static const int layout = TensorEvaluator<const TensorForcedEvalOp<const T>, DefaultDevice>::Layout;
45 Map<const Array<Scalar, Dynamic, Dynamic, layout> > matrix(const_cast<Scalar*>(tensor.data()), first_dim, total_size/first_dim);
56 #endif // EIGEN_CXX11_TENSOR_TENSOR_IO_H
Namespace containing all symbols from the Eigen library.
Definition: CXX11Meta.h:13