Array variable value, referencing an entry in an indexable container of T types. More...
#include <CompileTimeDerivatives.h>
Public Types | |
typedef CTCleanType< decltype((static_cast< T >0))[0])> | ResultType |
Public Member Functions | |
CTArrayRef (const T &arr, const I &idx) | |
auto | operator() () const |
std::string | print () const |
template<CTTag dtag> | |
auto | D () const |
Static Public Member Functions | |
static constexpr int | precedence () |
precedence should reflect C++ operator precedence exactly (higher is binding tighter) More... | |
static constexpr bool | leftAssociative () |
left/right associative property should reflect C++ operator properties exactly More... | |
Protected Attributes | |
const T & | _arr |
const I & | _idx |
Array variable value, referencing an entry in an indexable container of T types.
The index of type I is also stored as a reference. This object is tagged with a CTTag to enable taking symbolic derivatives.
Definition at line 399 of file CompileTimeDerivatives.h.
typedef CTCleanType<decltype((static_cast<T>0))[0])> CompileTimeDerivatives::CTArrayRef< tag, T, I >::ResultType |
Definition at line 416 of file CompileTimeDerivatives.h.
|
inline |
Definition at line 402 of file CompileTimeDerivatives.h.
|
inline |
Definition at line 407 of file CompileTimeDerivatives.h.
|
inlinestaticinherited |
left/right associative property should reflect C++ operator properties exactly
Definition at line 31 of file CompileTimeDerivatives.h.
|
inline |
Definition at line 403 of file CompileTimeDerivatives.h.
|
inlinestaticinherited |
precedence should reflect C++ operator precedence exactly (higher is binding tighter)
Definition at line 29 of file CompileTimeDerivatives.h.
|
inline |
Definition at line 404 of file CompileTimeDerivatives.h.
|
protected |
Definition at line 418 of file CompileTimeDerivatives.h.
Referenced by CompileTimeDerivatives::CTArrayRef< tag, T, I >::operator()().
|
protected |
Definition at line 422 of file CompileTimeDerivatives.h.
Referenced by CompileTimeDerivatives::CTArrayRef< tag, T, I >::operator()(), and CompileTimeDerivatives::CTArrayRef< tag, T, I >::print().