STK++ 0.9.13
STK::DiagonalGetterAccessor< Lhs > Class Template Reference

Generic expression when we want to get the diagonal of a two-dimensional square expression. More...

#include <STK_ReshapeAccessors.h>

Inheritance diagram for STK::DiagonalGetterAccessor< Lhs >:
Inheritance graph

Public Types

enum  {
  structure_ = hidden::Traits< DiagonalGetterAccessor<Lhs> >::structure_ , orient_ = hidden::Traits< DiagonalGetterAccessor<Lhs> >::orient_ , sizeRows_ = hidden::Traits< DiagonalGetterAccessor<Lhs> >::sizeRows_ , sizeCols_ = hidden::Traits< DiagonalGetterAccessor<Lhs> >::sizeCols_ ,
  storage_ = hidden::Traits< DiagonalGetterAccessor<Lhs> >::storage_ , isValid_ = hidden::Traits< DiagonalGetterAccessor<Lhs> >::isValid_ , use_ = hidden::Traits< DiagonalGetterAccessor<Lhs> >::use_ , size_ = hidden::Traits< DiagonalGetterAccessor<Lhs> >::size_
}
 
typedef ArrayBase< DiagonalGetterAccessor< Lhs > > Base
 
typedef hidden::Traits< DiagonalGetterAccessor< Lhs > >::Type Type
 
typedef hidden::Traits< DiagonalGetterAccessor< Lhs > >::TypeConst TypeConst
 
typedef hidden::DiagonalRangeImpl< Lhs, size_, use_RangeImpl
 
typedef TRange< size_RowRange
 Type of the Range for the rows.
 
typedef TRange< size_ColRange
 Type of the Range for the columns.
 
- Public Types inherited from STK::ArrayBase< DiagonalGetterAccessor< Lhs > >
enum  
 
typedef ExprBase< DiagonalGetterAccessor< Lhs > > Base
 
typedef hidden::Traits< DiagonalGetterAccessor< Lhs > >::Type Type
 
typedef hidden::Traits< DiagonalGetterAccessor< Lhs > >::TypeConst TypeConst
 
- Public Types inherited from STK::ExprBase< Derived >
enum  {
  structure_ = hidden::Traits<Derived>::structure_ , orient_ = hidden::Traits<Derived>::orient_ , sizeRows_ = hidden::Traits<Derived>::sizeRows_ , sizeCols_ = hidden::Traits<Derived>::sizeCols_ ,
  storage_ = hidden::Traits<Derived>::storage_
}
 
typedef ITContainer< Derived, structure_Base
 
typedef hidden::Traits< Derived >::Type Type
 
typedef hidden::Traits< Derived >::TypeConst TypeConst
 

Public Member Functions

 DiagonalGetterAccessor (Lhs &lhs)
 Constructor.
 
Lhs constlhs () const
 
RowRange constrowsImpl () const
 
ColRange constcolsImpl () const
 
TypeConst elt2Impl (int i, int j) const
 
TypeConst elt1Impl (int i) const
 
TypeConst elt0Impl () const
 
Typeelt2Impl (int i, int j)
 
Typeelt1Impl (int i)
 
Typeelt0Impl ()
 
- Public Member Functions inherited from STK::ArrayBase< DiagonalGetterAccessor< Lhs > >
void apply (Visitor &visitor)
 Apply the Visitor visitor to the whole coefficients of the array.
 
DiagonalGetterAccessor< Lhs > & randUnif ()
 set random values to this using a uniform law.
 
DiagonalGetterAccessor< Lhs > & randGauss ()
 set random values to this using a standard gaussian law.
 
DiagonalGetterAccessor< Lhs > & rand (Law::IUnivLaw< Type > const &law)
 set random values to this using a distribution law given by the user.
 
DiagonalGetterAccessor< Lhs > & setOnes ()
 set one to this using a Visitor.
 
DiagonalGetterAccessor< Lhs > & setZeros ()
 set zero to this using a Visitor.
 
DiagonalGetterAccessor< Lhs > & ones ()
 set one to this using a Visitor.
 
DiagonalGetterAccessor< Lhs > & zeros ()
 set zero to this using a Visitor.
 
DiagonalGetterAccessor< Lhs > & setValue (TypeConst value)
 set a value to this container.
 
void setValue (int i, TypeConst value)
 set a value to this container at index i.
 
void setValue (int i, int j, TypeConst value)
 set a value to this container at position (i,j).
 
DiagonalGetterAccessor< Lhs > & assign (ExprBase< Rhs > const &rhs)
 
DiagonalGetterAccessor< Lhs > & operator= (Type const &value)
 
DiagonalGetterAccessor< Lhs > & operator= (DiagonalGetterAccessor< Lhs > const &rhs)
 
DiagonalGetterAccessor< Lhs > & operator= (ExprBase< Rhs > const &rhs)
 
DiagonalGetterAccessor< Lhs > & operator+= (ExprBase< Rhs > const &other)
 Add Rhs to this.
 
DiagonalGetterAccessor< Lhs > & operator+= (Type const &other)
 Adding a constant to this.
 
DiagonalGetterAccessor< Lhs > & operator-= (ExprBase< Rhs > const &other)
 subtract a Rhs to this.
 
DiagonalGetterAccessor< Lhs > & operator-= (Type const &other)
 Subtract a constant to this.
 
DiagonalGetterAccessor< Lhs > & operator/= (ExprBase< Rhs > const &other)
 divide this by Rhs.
 
DiagonalGetterAccessor< Lhs > & operator/= (Type const &other)
 dividing this by a constant.
 
DiagonalGetterAccessor< Lhs > & operator%= (ExprBase< Rhs > const &other)
 Take modulo of this by Rhs.
 
DiagonalGetterAccessor< Lhs > & operator%= (Type const &other)
 take modulo of this by a constant.
 
DiagonalGetterAccessor< Lhs > & operator*= (ExprBase< Rhs > const &other)
 multiply this by Rhs.
 
DiagonalGetterAccessor< Lhs > & operator*= (Type const &other)
 product of this by a constant.
 
DiagonalGetterAccessor< Lhs > & copy (ExprBase< Rhs > const &rhs)
 overwrite this with src.
 
TransposeOperator< DiagonalGetterAccessor< Lhs > > const transpose () const
 
TransposeAccessor< DiagonalGetterAccessor< Lhs > > transpose ()
 
DiagonalizeOperator< DiagonalGetterAccessor< Lhs > > const diagonalize () const
 
DiagonalizeAccessor< DiagonalGetterAccessor< Lhs > > diagonalize ()
 
DiagonalGetterOperator< DiagonalGetterAccessor< Lhs > > const getDiagonal () const
 
DiagonalGetterAccessor< DiagonalGetterAccessor< Lhs > > getDiagonal ()
 
UpperTriangularizeOperator< DiagonalGetterAccessor< Lhs > > const upperTriangularize () const
 
UpperTriangularizeAccessor< DiagonalGetterAccessor< Lhs > > upperTriangularize ()
 
LowerTriangularizeOperator< DiagonalGetterAccessor< Lhs > > const lowerTriangularize () const
 
LowerTriangularizeAccessor< DiagonalGetterAccessor< Lhs > > lowerTriangularize ()
 
SymmetrizeOperator< DiagonalGetterAccessor< Lhs > > const symmetrize () const
 
SymmetrizeAccessor< DiagonalGetterAccessor< Lhs > > symmetrize ()
 
UpperSymmetrizeOperator< DiagonalGetterAccessor< Lhs > > const upperSymmetrize () const
 
UpperSymmetrizeAccessor< DiagonalGetterAccessor< Lhs > > upperSymmetrize ()
 
LowerSymmetrizeOperator< DiagonalGetterAccessor< Lhs > > const lowerSymmetrize () const
 
LowerSymmetrizeAccessor< DiagonalGetterAccessor< Lhs > > lowerSymmetrize ()
 
ColOperator< DiagonalGetterAccessor< Lhs > > const col (int j) const
 
ColAccessor< DiagonalGetterAccessor< Lhs > > col (int j)
 
RowOperator< DiagonalGetterAccessor< Lhs > > const row (int i) const
 
RowAccessor< DiagonalGetterAccessor< Lhs > > row (int i)
 
SubVectorOperator< DiagonalGetterAccessor< Lhs >, Size_ > const sub (TRange< Size_ > const &I) const
 
SubOperator< DiagonalGetterAccessor< Lhs >, SizeRows_, SizeCols_ > const sub (TRange< SizeRows_ > const &I, TRange< SizeCols_ > const &J) const
 
SubVectorAccessor< DiagonalGetterAccessor< Lhs >, Size_sub (TRange< Size_ > const &I)
 
SubAccessor< DiagonalGetterAccessor< Lhs >, SizeRows_, SizeCols_sub (TRange< SizeRows_ > const &I, TRange< SizeCols_ > const &J)
 
TypeConst operator() (int i, int j) const
 
Typeoperator() (int i, int j)
 
TypeConst operator() () const
 
Typeoperator() ()
 
TypeConst operator[] (int i) const
 
Typeoperator[] (int i)
 
ArrayInitializer< DiagonalGetterAccessor< Lhs > > operator<< (Type const &s)
 Convenient operator to set the coefficients of a matrix.
 
ArrayInitializer< DiagonalGetterAccessor< Lhs > > operator<< (ArrayBase< Rhs > const &other)
 
- Public Member Functions inherited from STK::ExprBase< Derived >
template<typename Visitor >
Visitor::TypeConst visit (Visitor &visitor) const
 Visit the container using a constant visitor.
 
int count () const
 compute the value of non-zero element in an expression.
 
bool const any () const
 check if there is any non-zero element in an expression.
 
bool const all () const
 check if all the elements in an expression are not zero.
 
int nbAvailableValues () const
 
Type const minElt (int &row, int &col) const
 
Type const minEltSafe (int &row, int &col) const
 
Type const maxElt (int &row, int &col) const
 
Type const maxEltSafe (int &row, int &col) const
 
Type const minElt (int &pos) const
 
Type const minEltSafe (int &pos) const
 
Type const maxElt (int &pos) const
 
Type const maxEltSafe (int &pos) const
 
Type const minElt () const
 
Type const minEltSafe () const
 
Type const maxElt () const
 
Type const maxEltSafe () const
 
Type const sum () const
 
Type const sumSafe () const
 
Type const norm () const
 
Type const normSafe () const
 
Type const norm2 () const
 
Type const norm2Safe () const
 
Type const normInf () const
 
Type const mean () const
 
Type const meanSafe () const
 
Type const variance () const
 
Type const varianceSafe () const
 
Type const variance (Type const &mean) const
 
Type const varianceSafe (Type const &mean) const
 
template<typename Rhs >
Type const wsum (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wsumSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnorm (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnormSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnorm2 (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnorm2Safe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wmean (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wmeanSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvariance (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvarianceSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvariance (Type const &mean, ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvarianceSafe (Type const &mean, ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::equalOp_ >::Result const operator== (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::notEqualOp_ >::Result const operator!= (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::greaterThanOp_ >::Result const operator> (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::lessThanOp_ >::Result const operator< (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::greaterThanOrEqualOp_ >::Result const operator>= (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::lessThanOrEqualOp_ >::Result const operator<= (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::sumOp_ >::Result const operator+ (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::differenceOp_ >::Result const operator- (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::productOp_ >::Result const prod (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::divisionOp_ >::Result const operator/ (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::moduloOp_ >::Result const operator% (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::minOp_ >::Result const min (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::maxOp_ >::Result const max (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::logicalAndOp_ >::Result const operator&& (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::logicalOrOp_ >::Result const operator|| (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::bitwiseAndOp_ >::Result const operator& (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::bitwiseOrOp_ >::Result const operator| (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::bitwiseXorOp_ >::Result const operator^ (ExprBase< Rhs > const &other) const
 
UnaryOperator< OppositeOp< Type >, Derived > operator- () const
 
UnaryOperator< IsNaOp< Type >, Derived > isNA () const
 
UnaryOperator< NegOp< Type >, Derived > neg () const
 
UnaryOperator< IsFiniteOp< Type >, Derived > isFinite () const
 
UnaryOperator< IsInfiniteOp< Type >, Derived > isInfinite () const
 
UnaryOperator< AbsOp< Type >, Derived > abs () const
 
UnaryOperator< ExpOp< Type >, Derived > exp () const
 
UnaryOperator< LogOp< Type >, Derived > log () const
 
UnaryOperator< SqrtOp< Type >, Derived > sqrt () const
 
UnaryOperator< CosOp< Type >, Derived > cos () const
 
UnaryOperator< SinOp< Type >, Derived > sin () const
 
UnaryOperator< AcosOp< Type >, Derived > acos () const
 
UnaryOperator< AsinOp< Type >, Derived > asin () const
 
UnaryOperator< TanOp< Type >, Derived > tan () const
 
UnaryOperator< InverseOp< Type >, Derived > inverse () const
 
UnaryOperator< SquareOp< Type >, Derived > square () const
 
UnaryOperator< CubeOp< Type >, Derived > cube () const
 
UnaryOperator< EqualWithOp< Type >, Derived > operator== (Type const &value) const
 
UnaryOperator< NotEqualWithOp< Type >, Derived > operator!= (Type const &value) const
 
UnaryOperator< GreaterThanOp< Type >, Derived > operator> (Type const &value) const
 
UnaryOperator< LessThanOp< Type >, Derived > operator< (Type const &value) const
 
UnaryOperator< LeqThanOp< Type >, Derived > operator<= (Type const &value) const
 
UnaryOperator< GeqThanOp< Type >, Derived > operator>= (Type const &value) const
 
UnaryOperator< MinWithOp< Type >, Derived > min (Type const &value) const
 
UnaryOperator< MaxWithOp< Type >, Derived > max (Type const &value) const
 
UnaryOperator< SumWithOp< Type >, Derived > operator+ (Type const &value) const
 
UnaryOperator< DifferenceWithOp< Type >, Derived > operator- (Type const &value) const
 
UnaryOperator< ProductWithOp< Type >, Derived > operator* (Type const &value) const
 
UnaryOperator< DivisionWithOp< Type >, Derived > operator/ (Type const &value) const
 
UnaryOperator< ModuloWithOp< Type >, Derived > operator% (Type const &value) const
 
UnaryOperator< LogicalAndWithOp< Type >, Derived > operator&& (Type const &value) const
 
UnaryOperator< LogicalOrWithOp< Type >, Derived > operator|| (Type const &value) const
 
UnaryOperator< BitwiseAndWithOp< Type >, Derived > operator& (Type const &value) const
 
UnaryOperator< BitwiseOrWithOp< Type >, Derived > operator| (Type const &value) const
 
UnaryOperator< BitwiseXorWithOp< Type >, Derived > operator^ (Type const &value) const
 
UnaryOperator< PowOp< Type >, Derived > pow (Type const &value) const
 
UnaryOperator< SafeInverseOp< Type >, Derived > safeInverse (Type const &value) const
 
UnaryOperator< SafeOp< Type >, Derived > const safe (Type const value=Type()) const
 
template<typename OtherType >
UnaryOperator< CastOp< Type, OtherType >, Derived > const cast () const
 
UnaryOperator< Law::PdfOp< Type >, Derived > pdf (Law::IUnivLaw< Type > const &law) const
 compute pdf values to this using distribution law given by user
 
UnaryOperator< Law::LogPdfOp< Type >, Derived > lpdf (Law::IUnivLaw< Type > const &law) const
 compute log-pdf values to this using distribution law given by user
 
UnaryOperator< Law::CdfOp< Type >, Derived > cdf (Law::IUnivLaw< Type > const &law) const
 compute cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::LogCdfOp< Type >, Derived > lcdf (Law::IUnivLaw< Type > const &law) const
 compute log-cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::CdfcOp< Type >, Derived > cdfc (Law::IUnivLaw< Type > const &law) const
 compute complementary cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::LogCdfcOp< Type >, Derived > lcdfc (Law::IUnivLaw< Type > const &law) const
 compute complementary cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::IcdfOp< Type >, Derived > icdf (Law::IUnivLaw< Type > const &law) const
 compute inverse cumulative distribution function using distribution law given by user
 
template<template< typename > class OtherOperator>
UnaryOperator< OtherOperator< Type >, Derived > const funct0 () const
 
template<template< typename > class OtherOperator>
UnaryOperator< OtherOperator< Type >, Derived > const funct1 (Type const value) const
 
TransposeOperator< Derived > const transpose () const
 
DiagonalizeOperator< Derived > const diagonalize () const
 
DiagonalGetterOperator< Derived > const getDiagonal () const
 
UpperTriangularizeOperator< Derived > const upperTriangularize () const
 
LowerTriangularizeOperator< Derived > const lowerTriangularize () const
 
SymmetrizeOperator< Derived > const symmetrize () const
 
UpperSymmetrizeOperator< Derived > const upperSymmetrize () const
 
LowerSymmetrizeOperator< Derived > const lowerSymmetrize () const
 
template<int Size_>
SubVectorOperator< Derived, Size_ > const sub (TRange< Size_ > const &I) const
 
ColOperator< Derived > const col (int j) const
 
RowOperator< Derived > const row (int i) const
 
template<int Size_>
SubOperator< Derived, sizeRows_, Size_ > const col (TRange< Size_ > const &J) const
 
template<int Size_>
SubOperator< Derived, Size_, sizeCols_ > const row (TRange< Size_ > const &I) const
 
template<int SizeRows_, int SizeCols_>
SubOperator< Derived, SizeRows_, SizeCols_ > const sub (TRange< SizeRows_ > const &I, TRange< SizeCols_ > const &J) const
 
template<class Rhs >
hidden::Promote< Type, typenameRhs::Type >::result_type const dot (ExprBase< Rhs > const &other) const
 
template<class Rhs >
hidden::Promote< Type, typenameRhs::Type >::result_type const dotSafe (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::ProductSelector< Derived, Rhs, hidden::Traits< Derived >::structure_, hidden::Traits< Rhs >::structure_ >::ProductType const operator* (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wsum (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wsumSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnorm (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnormSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnorm2 (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnorm2Safe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wmean (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wmeanSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvariance (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvarianceSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvariance (Type const &mean, ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvarianceSafe (Type const &mean, ExprBase< Rhs > const &weights) const
 

Protected Attributes

Lhslhs_
 

Additional Inherited Members

- Static Public Member Functions inherited from STK::TRef< 1 >
static bool isRef ()
 
- Protected Member Functions inherited from STK::ArrayBase< DiagonalGetterAccessor< Lhs > >
 ArrayBase ()
 Default constructor.
 
 ~ArrayBase ()
 destructor
 
- Protected Member Functions inherited from STK::ExprBase< Derived >
 ExprBase ()
 Default constructor.
 
 ~ExprBase ()
 destructor
 

Detailed Description

template<typename Lhs>
class STK::DiagonalGetterAccessor< Lhs >

Generic expression when we want to get the diagonal of a two-dimensional square expression.

Template Parameters
Lhsthe type of the expression to which we are applying the DiagonalGetterAccessor operator.

This class represents an expression where a diagonal operator is applied to an expression. It is the return type of the diagonal operation.

Most of the time, this is the only way that it is used, so you typically don't have to name DiagonalGetterAccessor type explicitly.

Definition at line 218 of file STK_ReshapeAccessors.h.

Member Typedef Documentation

◆ Base

◆ ColRange

Type of the Range for the columns.

Definition at line 240 of file STK_ReshapeAccessors.h.

◆ RangeImpl

◆ RowRange

Type of the Range for the rows.

Definition at line 238 of file STK_ReshapeAccessors.h.

◆ Type

◆ TypeConst

Definition at line 223 of file STK_ReshapeAccessors.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename Lhs >
anonymous enum
Enumerator
structure_ 
orient_ 
sizeRows_ 
sizeCols_ 
storage_ 
isValid_ 
use_ 
size_ 

Definition at line 225 of file STK_ReshapeAccessors.h.

226 {
227 structure_ = hidden::Traits< DiagonalGetterAccessor<Lhs> >::structure_,
228 orient_ = hidden::Traits< DiagonalGetterAccessor<Lhs> >::orient_,
229 sizeRows_ = hidden::Traits< DiagonalGetterAccessor<Lhs> >::sizeRows_,
230 sizeCols_ = hidden::Traits< DiagonalGetterAccessor<Lhs> >::sizeCols_,
231 storage_ = hidden::Traits< DiagonalGetterAccessor<Lhs> >::storage_,
232 isValid_ = hidden::Traits< DiagonalGetterAccessor<Lhs> >::isValid_,
233 use_ = hidden::Traits< DiagonalGetterAccessor<Lhs> >::use_,
234 size_ = hidden::Traits< DiagonalGetterAccessor<Lhs> >::size_
235 };

Constructor & Destructor Documentation

◆ DiagonalGetterAccessor()

template<typename Lhs >
STK::DiagonalGetterAccessor< Lhs >::DiagonalGetterAccessor ( Lhs lhs)
inline

Constructor.

Definition at line 243 of file STK_ReshapeAccessors.h.

243 : Base(), lhs_(lhs)
244 {
245 STK_STATIC_ASSERT(isValid_,YOU_TRIED_CALLING_A_MATRIX_METHOD_ON_A_VECTOR);
246#ifdef STK_BOUNDS_CHECK
247 if (lhs.rows()!=lhs.cols())
248 STKRUNTIME_ERROR_NO_ARG(DiagonalGetterAccessor,lhs.rows()!=lhs.cols());
249#endif
250 }
#define STKRUNTIME_ERROR_NO_ARG(Where, Error)
Definition STK_Macros.h:138
#define STK_STATIC_ASSERT(COND, MSG)
ArrayBase< DiagonalGetterAccessor< Lhs > > Base

References STK_STATIC_ASSERT, and STKRUNTIME_ERROR_NO_ARG.

Member Function Documentation

◆ colsImpl()

template<typename Lhs >
ColRange const & STK::DiagonalGetterAccessor< Lhs >::colsImpl ( ) const
inline
Returns
the range of the Columns

Definition at line 256 of file STK_ReshapeAccessors.h.

256{ return RangeImpl::rangeImpl(lhs_);}
static RangeType const & rangeImpl(Lhs const &lhs)

◆ elt0Impl() [1/2]

template<typename Lhs >
Type & STK::DiagonalGetterAccessor< Lhs >::elt0Impl ( )
inline
Returns
a reference on the element of the expression

Definition at line 278 of file STK_ReshapeAccessors.h.

278{ return (lhs_.elt());}

◆ elt0Impl() [2/2]

template<typename Lhs >
TypeConst STK::DiagonalGetterAccessor< Lhs >::elt0Impl ( ) const
inline
Returns
a constant reference on the element of the expression

Definition at line 267 of file STK_ReshapeAccessors.h.

267{ return (lhs_.elt());}

◆ elt1Impl() [1/2]

template<typename Lhs >
Type & STK::DiagonalGetterAccessor< Lhs >::elt1Impl ( int  i)
inline
Returns
a reference on the ith element of the expression
Parameters
iindex of the element to get

Definition at line 276 of file STK_ReshapeAccessors.h.

276{ return (lhs_.elt(i,i));}

◆ elt1Impl() [2/2]

template<typename Lhs >
TypeConst STK::DiagonalGetterAccessor< Lhs >::elt1Impl ( int  i) const
inline
Returns
a constant reference on the ith element of the expression
Parameters
iindex of the element to get

Definition at line 265 of file STK_ReshapeAccessors.h.

265{ return (lhs_.elt(i,i));}

◆ elt2Impl() [1/2]

template<typename Lhs >
Type & STK::DiagonalGetterAccessor< Lhs >::elt2Impl ( int  i,
int  j 
)
inline
Returns
a reference on the (i,j) element of the expression.
Parameters
i,jindex of the row and of the column

Definition at line 272 of file STK_ReshapeAccessors.h.

272{ return (lhs_.elt(i, j));}

◆ elt2Impl() [2/2]

template<typename Lhs >
TypeConst STK::DiagonalGetterAccessor< Lhs >::elt2Impl ( int  i,
int  j 
) const
inline
Returns
a constant reference on the (i,j) element of the expression.
Parameters
i,jindex of the row and of the column

Definition at line 261 of file STK_ReshapeAccessors.h.

261{ return (lhs_.elt(i, j));}

◆ lhs()

template<typename Lhs >
Lhs const & STK::DiagonalGetterAccessor< Lhs >::lhs ( ) const
inline
Returns
the left hand side expression

Definition at line 252 of file STK_ReshapeAccessors.h.

252{ return lhs_; }

◆ rowsImpl()

template<typename Lhs >
RowRange const & STK::DiagonalGetterAccessor< Lhs >::rowsImpl ( ) const
inline
Returns
the range of the rows

Definition at line 254 of file STK_ReshapeAccessors.h.

254{ return RangeImpl::rangeImpl(lhs_);}

Member Data Documentation

◆ lhs_

template<typename Lhs >
Lhs& STK::DiagonalGetterAccessor< Lhs >::lhs_
protected

Definition at line 281 of file STK_ReshapeAccessors.h.


The documentation for this class was generated from the following file: