diff options
author | Desire NUENTSA <desire.nuentsa_wakam@inria.fr> | 2012-11-16 19:59:11 +0100 |
---|---|---|
committer | Desire NUENTSA <desire.nuentsa_wakam@inria.fr> | 2012-11-16 19:59:11 +0100 |
commit | 4acc18f1006d7cee1b4c7d3b868876aed30c01cc (patch) | |
tree | 399c86c4f34cce9f9263768741fbd2a25207ee0a /Eigen/src/Core | |
parent | 6a790058f5c8cdc2c655133374902a6afbd3a38b (diff) |
Move VectorBlock methods into plugin section
Diffstat (limited to 'Eigen/src/Core')
-rw-r--r-- | Eigen/src/Core/DenseBase.h | 23 | ||||
-rw-r--r-- | Eigen/src/Core/VectorBlock.h | 189 |
2 files changed, 0 insertions, 212 deletions
diff --git a/Eigen/src/Core/DenseBase.h b/Eigen/src/Core/DenseBase.h index 8dc593174..62c73f1a9 100644 --- a/Eigen/src/Core/DenseBase.h +++ b/Eigen/src/Core/DenseBase.h @@ -281,29 +281,6 @@ template<typename Derived> class DenseBase public: #endif - typedef VectorBlock<Derived> SegmentReturnType; - typedef const VectorBlock<const Derived> ConstSegmentReturnType; - template<int Size> struct FixedSegmentReturnType { typedef VectorBlock<Derived, Size> Type; }; - template<int Size> struct ConstFixedSegmentReturnType { typedef const VectorBlock<const Derived, Size> Type; }; - - // Note: The "DenseBase::" prefixes are added to help MSVC9 to match these declarations with the later implementations. - SegmentReturnType segment(Index start, Index size); - typename DenseBase::ConstSegmentReturnType segment(Index start, Index size) const; - - SegmentReturnType head(Index size); - typename DenseBase::ConstSegmentReturnType head(Index size) const; - - SegmentReturnType tail(Index size); - typename DenseBase::ConstSegmentReturnType tail(Index size) const; - - template<int Size> typename FixedSegmentReturnType<Size>::Type head(); - template<int Size> typename ConstFixedSegmentReturnType<Size>::Type head() const; - - template<int Size> typename FixedSegmentReturnType<Size>::Type tail(); - template<int Size> typename ConstFixedSegmentReturnType<Size>::Type tail() const; - - template<int Size> typename FixedSegmentReturnType<Size>::Type segment(Index start); - template<int Size> typename ConstFixedSegmentReturnType<Size>::Type segment(Index start) const; static const ConstantReturnType Constant(Index rows, Index cols, const Scalar& value); diff --git a/Eigen/src/Core/VectorBlock.h b/Eigen/src/Core/VectorBlock.h index d0526dc95..1a7330f3c 100644 --- a/Eigen/src/Core/VectorBlock.h +++ b/Eigen/src/Core/VectorBlock.h @@ -90,195 +90,6 @@ template<typename VectorType, int Size> class VectorBlock }; -/** \returns a dynamic-size expression of a segment (i.e. a vector block) in *this. - * - * \only_for_vectors - * - * \param start the first coefficient in the segment - * \param size the number of coefficients in the segment - * - * Example: \include MatrixBase_segment_int_int.cpp - * Output: \verbinclude MatrixBase_segment_int_int.out - * - * \note Even though the returned expression has dynamic size, in the case - * when it is applied to a fixed-size vector, it inherits a fixed maximal size, - * which means that evaluating it does not cause a dynamic memory allocation. - * - * \sa class Block, segment(Index) - */ -template<typename Derived> -inline typename DenseBase<Derived>::SegmentReturnType -DenseBase<Derived>::segment(Index start, Index vecSize) -{ - EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) - return SegmentReturnType(derived(), start, vecSize); -} - -/** This is the const version of segment(Index,Index).*/ -template<typename Derived> -inline typename DenseBase<Derived>::ConstSegmentReturnType -DenseBase<Derived>::segment(Index start, Index vecSize) const -{ - EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) - return ConstSegmentReturnType(derived(), start, vecSize); -} - -/** \returns a dynamic-size expression of the first coefficients of *this. - * - * \only_for_vectors - * - * \param size the number of coefficients in the block - * - * Example: \include MatrixBase_start_int.cpp - * Output: \verbinclude MatrixBase_start_int.out - * - * \note Even though the returned expression has dynamic size, in the case - * when it is applied to a fixed-size vector, it inherits a fixed maximal size, - * which means that evaluating it does not cause a dynamic memory allocation. - * - * \sa class Block, block(Index,Index) - */ -template<typename Derived> -inline typename DenseBase<Derived>::SegmentReturnType -DenseBase<Derived>::head(Index vecsize) -{ - EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) - return SegmentReturnType(derived(), 0, vecsize); -} - -/** This is the const version of head(Index).*/ -template<typename Derived> -inline typename DenseBase<Derived>::ConstSegmentReturnType -DenseBase<Derived>::head(Index vecSize) const -{ - EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) - return ConstSegmentReturnType(derived(), 0, vecSize); -} - -/** \returns a dynamic-size expression of the last coefficients of *this. - * - * \only_for_vectors - * - * \param size the number of coefficients in the block - * - * Example: \include MatrixBase_end_int.cpp - * Output: \verbinclude MatrixBase_end_int.out - * - * \note Even though the returned expression has dynamic size, in the case - * when it is applied to a fixed-size vector, it inherits a fixed maximal size, - * which means that evaluating it does not cause a dynamic memory allocation. - * - * \sa class Block, block(Index,Index) - */ -template<typename Derived> -inline typename DenseBase<Derived>::SegmentReturnType -DenseBase<Derived>::tail(Index vecSize) -{ - EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) - return SegmentReturnType(derived(), this->size() - vecSize, vecSize); -} - -/** This is the const version of tail(Index).*/ -template<typename Derived> -inline typename DenseBase<Derived>::ConstSegmentReturnType -DenseBase<Derived>::tail(Index vecSize) const -{ - EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) - return ConstSegmentReturnType(derived(), this->size() - vecSize, vecSize); -} - -/** \returns a fixed-size expression of a segment (i.e. a vector block) in \c *this - * - * \only_for_vectors - * - * The template parameter \a Size is the number of coefficients in the block - * - * \param start the index of the first element of the sub-vector - * - * Example: \include MatrixBase_template_int_segment.cpp - * Output: \verbinclude MatrixBase_template_int_segment.out - * - * \sa class Block - */ -template<typename Derived> -template<int Size> -inline typename DenseBase<Derived>::template FixedSegmentReturnType<Size>::Type -DenseBase<Derived>::segment(Index start) -{ - EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) - return typename FixedSegmentReturnType<Size>::Type(derived(), start); -} - -/** This is the const version of segment<int>(Index).*/ -template<typename Derived> -template<int Size> -inline typename DenseBase<Derived>::template ConstFixedSegmentReturnType<Size>::Type -DenseBase<Derived>::segment(Index start) const -{ - EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) - return typename ConstFixedSegmentReturnType<Size>::Type(derived(), start); -} - -/** \returns a fixed-size expression of the first coefficients of *this. - * - * \only_for_vectors - * - * The template parameter \a Size is the number of coefficients in the block - * - * Example: \include MatrixBase_template_int_start.cpp - * Output: \verbinclude MatrixBase_template_int_start.out - * - * \sa class Block - */ -template<typename Derived> -template<int Size> -inline typename DenseBase<Derived>::template FixedSegmentReturnType<Size>::Type -DenseBase<Derived>::head() -{ - EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) - return typename FixedSegmentReturnType<Size>::Type(derived(), 0); -} - -/** This is the const version of head<int>().*/ -template<typename Derived> -template<int Size> -inline typename DenseBase<Derived>::template ConstFixedSegmentReturnType<Size>::Type -DenseBase<Derived>::head() const -{ - EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) - return typename ConstFixedSegmentReturnType<Size>::Type(derived(), 0); -} - -/** \returns a fixed-size expression of the last coefficients of *this. - * - * \only_for_vectors - * - * The template parameter \a Size is the number of coefficients in the block - * - * Example: \include MatrixBase_template_int_end.cpp - * Output: \verbinclude MatrixBase_template_int_end.out - * - * \sa class Block - */ -template<typename Derived> -template<int Size> -inline typename DenseBase<Derived>::template FixedSegmentReturnType<Size>::Type -DenseBase<Derived>::tail() -{ - EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) - return typename FixedSegmentReturnType<Size>::Type(derived(), size() - Size); -} - -/** This is the const version of tail<int>.*/ -template<typename Derived> -template<int Size> -inline typename DenseBase<Derived>::template ConstFixedSegmentReturnType<Size>::Type -DenseBase<Derived>::tail() const -{ - EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) - return typename ConstFixedSegmentReturnType<Size>::Type(derived(), size() - Size); -} - } // end namespace Eigen #endif // EIGEN_VECTORBLOCK_H |