MOAB  4.9.3pre
Eigen::RefBase< Derived > Class Template Reference

#include <Ref.h>

Inheritance diagram for Eigen::RefBase< Derived >:
Collaboration diagram for Eigen::RefBase< Derived >:

List of all members.

Public Types

typedef MapBase< Derived > Base

Public Member Functions

EIGEN_DEVICE_FUNC Index innerStride () const
EIGEN_DEVICE_FUNC Index outerStride () const
EIGEN_DEVICE_FUNC RefBase ()

Protected Types

typedef Stride
< StrideType::OuterStrideAtCompileTime,
StrideType::InnerStrideAtCompileTime > 
StrideBase

Protected Member Functions

template<typename Expression >
EIGEN_DEVICE_FUNC void construct (Expression &expr)

Protected Attributes

StrideBase m_stride

Private Types

typedef internal::traits
< Derived >::PlainObjectType 
PlainObjectType
typedef internal::traits
< Derived >::StrideType 
StrideType

Detailed Description

template<typename Derived>
class Eigen::RefBase< Derived >

Definition at line 52 of file Ref.h.


Member Typedef Documentation

template<typename Derived>
typedef internal::traits<Derived>::PlainObjectType Eigen::RefBase< Derived >::PlainObjectType [private]

Definition at line 55 of file Ref.h.

template<typename Derived>
typedef Stride<StrideType::OuterStrideAtCompileTime,StrideType::InnerStrideAtCompileTime> Eigen::RefBase< Derived >::StrideBase [protected]

Definition at line 87 of file Ref.h.

template<typename Derived>
typedef internal::traits<Derived>::StrideType Eigen::RefBase< Derived >::StrideType [private]

Definition at line 56 of file Ref.h.


Constructor & Destructor Documentation

template<typename Derived>
EIGEN_DEVICE_FUNC Eigen::RefBase< Derived >::RefBase ( ) [inline]

Definition at line 76 of file Ref.h.

    : Base(0,RowsAtCompileTime==Dynamic?0:RowsAtCompileTime,ColsAtCompileTime==Dynamic?0:ColsAtCompileTime),
      // Stride<> does not allow default ctor for Dynamic strides, so let' initialize it with dummy values:
      m_stride(StrideType::OuterStrideAtCompileTime==Dynamic?0:StrideType::OuterStrideAtCompileTime,
               StrideType::InnerStrideAtCompileTime==Dynamic?0:StrideType::InnerStrideAtCompileTime)
  {}

Member Function Documentation

template<typename Derived>
template<typename Expression >
EIGEN_DEVICE_FUNC void Eigen::RefBase< Derived >::construct ( Expression &  expr) [inline, protected]

Definition at line 90 of file Ref.h.

  {
    if(PlainObjectType::RowsAtCompileTime==1)
    {
      eigen_assert(expr.rows()==1 || expr.cols()==1);
      ::new (static_cast<Base*>(this)) Base(expr.data(), 1, expr.size());
    }
    else if(PlainObjectType::ColsAtCompileTime==1)
    {
      eigen_assert(expr.rows()==1 || expr.cols()==1);
      ::new (static_cast<Base*>(this)) Base(expr.data(), expr.size(), 1);
    }
    else
      ::new (static_cast<Base*>(this)) Base(expr.data(), expr.rows(), expr.cols());
    
    if(Expression::IsVectorAtCompileTime && (!PlainObjectType::IsVectorAtCompileTime) && ((Expression::Flags&RowMajorBit)!=(PlainObjectType::Flags&RowMajorBit)))
      ::new (&m_stride) StrideBase(expr.innerStride(), StrideType::InnerStrideAtCompileTime==0?0:1);
    else
      ::new (&m_stride) StrideBase(StrideType::OuterStrideAtCompileTime==0?0:expr.outerStride(),
                                   StrideType::InnerStrideAtCompileTime==0?0:expr.innerStride());    
  }
template<typename Derived>
EIGEN_DEVICE_FUNC Index Eigen::RefBase< Derived >::innerStride ( ) const [inline]

Definition at line 63 of file Ref.h.

  {
    return StrideType::InnerStrideAtCompileTime != 0 ? m_stride.inner() : 1;
  }
template<typename Derived>
EIGEN_DEVICE_FUNC Index Eigen::RefBase< Derived >::outerStride ( ) const [inline]

Definition at line 68 of file Ref.h.

  {
    return StrideType::OuterStrideAtCompileTime != 0 ? m_stride.outer()
         : IsVectorAtCompileTime ? this->size()
         : int(Flags)&RowMajorBit ? this->cols()
         : this->rows();
  }

Member Data Documentation

template<typename Derived>
StrideBase Eigen::RefBase< Derived >::m_stride [protected]

Definition at line 112 of file Ref.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines