STK++ 0.9.13
STK::hidden::CSlice< Derived, SizeRows, SizeCols > Struct Template Reference

The traits struct CSlice allows to disambiguate return type of the col/row/sub operators for CArray family. More...

#include <STK_ICArray.h>

Public Types

enum  {
  structure_ = Traits<Derived>::structure_ , orient_ = Traits<Derived>::orient_ , sizeRows_ = Traits<Derived>::sizeRows_ , sizeCols_ = Traits<Derived>::sizeCols_ ,
  storage_ = Traits<Derived>::storage_ , isNumber_ = (SizeRows==1)&&(SizeCols==1) , isVector_ = (SizeCols == 1)&&(!isNumber_) , isPoint_ = (SizeRows == 1)&&(!isNumber_) ,
  isSquare_ = (SizeRows==SizeCols)&&(SizeRows!=UnknownSize)&&(!isNumber_) , isArray_ = (SizeRows!=SizeCols)&&(!isNumber_)
}
 
typedef Traits< Derived >::Type Type
 
typedef If<(isNumber_), CArrayNumber< Type, orient_ >, typenameIf< isVector_, CArrayVector< Type, SizeRows, orient_ >, typenameIf< isPoint_, CArrayPoint< Type, SizeCols, orient_ >, typenameIf< isSquare_, CArraySquare< Type, SizeRows, orient_ >, CArray< Type, SizeRows, SizeCols, orient_ > >::Result >::Result >::Result >::Result Result
 

Detailed Description

template<typename Derived, int SizeRows, int SizeCols>
struct STK::hidden::CSlice< Derived, SizeRows, SizeCols >

The traits struct CSlice allows to disambiguate return type of the col/row/sub operators for CArray family.

See also
STK::ICArray

Definition at line 67 of file STK_ICArray.h.

Member Typedef Documentation

◆ Result

◆ Type

template<typename Derived , int SizeRows, int SizeCols>
typedef Traits<Derived>::Type STK::hidden::CSlice< Derived, SizeRows, SizeCols >::Type

Definition at line 69 of file STK_ICArray.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename Derived , int SizeRows, int SizeCols>
anonymous enum
Enumerator
structure_ 
orient_ 
sizeRows_ 
sizeCols_ 
storage_ 
isNumber_ 
isVector_ 
isPoint_ 
isSquare_ 
isArray_ 

Definition at line 70 of file STK_ICArray.h.

71 {
72 structure_ = Traits<Derived>::structure_,
73 orient_ = Traits<Derived>::orient_,
74 sizeRows_ = Traits<Derived>::sizeRows_,
75 sizeCols_ = Traits<Derived>::sizeCols_,
76 storage_ = Traits<Derived>::storage_,
77
78 isNumber_ = (SizeRows==1)&&(SizeCols==1),
79 isVector_ = (SizeCols == 1)&&(!isNumber_),
80 isPoint_ = (SizeRows == 1)&&(!isNumber_),
81 isSquare_ = (SizeRows==SizeCols)&&(SizeRows!=UnknownSize)&&(!isNumber_),
82 isArray_ = (SizeRows!=SizeCols)&&(!isNumber_) // not used
83 };
const int UnknownSize
This value means that an integer is not known at compile-time, and that instead the value is stored i...

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