From 2014c7ae28c592063f6887632682231ed862cfc5 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Sat, 15 Sep 2018 14:35:10 +0200 Subject: Move all, last, end from Eigen::placeholders namespace to Eigen::, and rename end to lastp1 to avoid conflicts with std::end. --- Eigen/src/Core/ArithmeticSequence.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Eigen/src/Core/ArithmeticSequence.h') diff --git a/Eigen/src/Core/ArithmeticSequence.h b/Eigen/src/Core/ArithmeticSequence.h index 941028893..42fbf47e8 100644 --- a/Eigen/src/Core/ArithmeticSequence.h +++ b/Eigen/src/Core/ArithmeticSequence.h @@ -329,9 +329,9 @@ seq(const symbolic::BaseExpr &f, const symbolic::BaseExpr auto lastN(SizeType size, IncrType incr) --> decltype(seqN(Eigen::placeholders::last-(size-fix<1>())*incr, size, incr)) +-> decltype(seqN(Eigen::last-(size-fix<1>())*incr, size, incr)) { - return seqN(Eigen::placeholders::last-(size-fix<1>())*incr, size, incr); + return seqN(Eigen::last-(size-fix<1>())*incr, size, incr); } /** \cpp11 @@ -342,9 +342,9 @@ auto lastN(SizeType size, IncrType incr) * \sa lastN(SizeType,IncrType, seqN(FirstType,SizeType), seq(FirstType,LastType) */ template auto lastN(SizeType size) --> decltype(seqN(Eigen::placeholders::last+fix<1>()-size, size)) +-> decltype(seqN(Eigen::last+fix<1>()-size, size)) { - return seqN(Eigen::placeholders::last+fix<1>()-size, size); + return seqN(Eigen::last+fix<1>()-size, size); } #endif -- cgit v1.2.3 From 617f75f1178b89c3ec98bd70644d5754b8339a65 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Thu, 20 Sep 2018 22:57:10 +0200 Subject: Add indexing namespace --- Eigen/src/Core/ArithmeticSequence.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'Eigen/src/Core/ArithmeticSequence.h') diff --git a/Eigen/src/Core/ArithmeticSequence.h b/Eigen/src/Core/ArithmeticSequence.h index 42fbf47e8..db6da0001 100644 --- a/Eigen/src/Core/ArithmeticSequence.h +++ b/Eigen/src/Core/ArithmeticSequence.h @@ -375,6 +375,39 @@ struct get_compile_time_incr > { } // end namespace internal +/** \namespace Eigen::indexing + * \ingroup Core_Module + * + * The sole purpose of this namespace is to be able to import all functions + * and symbols that are expected to be used within operator() for indexing + * and slicing. If you already imported the whole Eigen namespace: + * \code using namespace Eigen; \endcode + * then you are already all set. Otherwise, if you don't want/cannot import + * the whole Eigen namespace, the following line: + * \code using namespace Eigen::indexing; \endcode + * is equivalent to: + * \code + using Eigen::all; + using Eigen::seq; + using Eigen::seqN; + using Eigen::lastN; // c++11 only + using Eigen::last; + using Eigen::lastp1; + using Eigen::fix; + \endcode + */ +namespace indexing { + using Eigen::all; + using Eigen::seq; + using Eigen::seqN; + #if EIGEN_HAS_CXX11 + using Eigen::lastN; + #endif + using Eigen::last; + using Eigen::lastp1; + using Eigen::fix; +} + } // end namespace Eigen #endif // EIGEN_ARITHMETIC_SEQUENCE_H -- cgit v1.2.3