|
|
| Value () |
| | Constructs an empty 0 x 0 double matrix ([]).
|
|
| Value (const Value &other) |
|
Value & | operator= (const Value &other) |
|
| Value (Value &&other) noexcept |
|
Value & | operator= (Value &&other) noexcept |
|
void | swap (Value &other) noexcept |
| | Value (std::initializer_list< double > il, std::pmr::memory_resource *mr=nullptr) |
| | Row vector from a brace-enclosed list of doubles.
|
| template<class T> |
| | Value (Span< const T > data, std::pmr::memory_resource *mr=nullptr) |
| | Row vector from a contiguous span.
|
| template<class T> |
| | Value (const std::vector< T > &v, std::pmr::memory_resource *mr=nullptr) |
| | Row vector from std::vector — copies all elements.
|
| template<class T, std::size_t N> |
| | Value (const std::array< T, N > &a, std::pmr::memory_resource *mr=nullptr) |
| | Row vector from std::array — copies all elements.
|
|
Value | elemAt (size_t linearIdx, std::pmr::memory_resource *mr=nullptr) const |
|
double | elemAsDouble (size_t idx) const |
|
Value | indexGet (const size_t *indices, size_t count, std::pmr::memory_resource *mr=nullptr) const |
|
Value | reshape (size_t rows, size_t cols, std::pmr::memory_resource *mr=nullptr) const |
|
Value | indexGet2D (const size_t *rowIdx, size_t nrows, const size_t *colIdx, size_t ncols, std::pmr::memory_resource *mr=nullptr) const |
|
Value | indexGet3D (const size_t *rowIdx, size_t nrows, const size_t *colIdx, size_t ncols, const size_t *pageIdx, size_t npages, std::pmr::memory_resource *mr=nullptr) const |
| Value | indexGetND (const size_t *const *perDimIdx, const size_t *perDimCount, int nd, std::pmr::memory_resource *mr=nullptr) const |
| | ND subscript read for arbitrary rank.
|
|
Value | logicalIndex (const uint8_t *mask, size_t maskLen, std::pmr::memory_resource *mr=nullptr) const |
|
void | elemSet (size_t linearIdx, const Value &val) |
|
void | indexSet (const size_t *indices, size_t count, const Value &val) |
|
void | indexSet2D (const size_t *rowIdx, size_t nrows, const size_t *colIdx, size_t ncols, const Value &val) |
|
void | indexSet3D (const size_t *rowIdx, size_t nrows, const size_t *colIdx, size_t ncols, const size_t *pageIdx, size_t npages, const Value &val) |
| void | indexSetND (const size_t *const *perDimIdx, const size_t *perDimCount, int nd, const Value &val) |
| | ND subscript write for arbitrary rank.
|
|
void | indexDelete (const size_t *indices, size_t count, std::pmr::memory_resource *mr=nullptr) |
|
void | indexDelete2D (const size_t *rowIdx, size_t nrows, const size_t *colIdx, size_t ncols, std::pmr::memory_resource *mr=nullptr) |
|
void | indexDelete3D (const size_t *rowIdx, size_t nrows, const size_t *colIdx, size_t ncols, const size_t *pageIdx, size_t npages, std::pmr::memory_resource *mr=nullptr) |
|
void | indexDeleteND (const size_t *const *perDimIdx, const size_t *perDimCount, int nd, std::pmr::memory_resource *mr=nullptr) |
|
const std::string & | stringElem (size_t i) const |
|
void | stringElemSet (size_t i, const std::string &s) |
|
ValueType | type () const |
|
const Dims & | dims () const |
|
size_t | numel () const |
|
bool | isScalar () const |
|
bool | isEmpty () const |
|
bool | isNumeric () const |
| bool | isUnset () const |
| bool | isDeleted () const |
|
bool | isComplex () const |
|
bool | isLogical () const |
|
bool | isChar () const |
|
bool | isCell () const |
|
bool | isStruct () const |
|
bool | isFuncHandle () const |
|
bool | isString () const |
|
bool | isObject () const |
|
bool | isCsl () const |
|
std::string | objectClassName () const |
|
bool | objectIsHandle () const |
|
size_t | objectCount () const |
|
const ObjectState * | objectStateConst () const |
|
ObjectState * | objectStateMut () |
|
const ObjectState * | objectStateAt (size_t i) const |
|
ObjectState * | objectStateMutAt (size_t i) |
|
Value | objectSubArray (const std::vector< size_t > &idxs, std::pmr::memory_resource *mr=nullptr) const |
|
Value | objectReshape (const Dims &newDims, std::pmr::memory_resource *mr=nullptr) const |
|
Value | objectTranspose (std::pmr::memory_resource *mr=nullptr) const |
|
Value | objectGather (const size_t *srcLinear, const Dims &resultDims, std::pmr::memory_resource *mr=nullptr) const |
|
void | objectAssignLinear (const std::vector< size_t > &pos, const Value &rhs, const Value &fill, std::pmr::memory_resource *mr=nullptr) |
|
void | objectAssignND (const std::vector< std::vector< size_t > > &perDim, const Value &rhs, const Value &fill, std::pmr::memory_resource *mr=nullptr) |
|
const void * | rawData () const |
|
size_t | rawBytes () const |
|
size_t | deepBytes () const |
|
const double * | doubleData () const |
|
const uint8_t * | logicalData () const |
|
const char * | charData () const |
|
double | toScalar () const |
|
bool | toBool () const |
|
std::string | toString () const |
|
const float * | singleData () const |
|
const int8_t * | int8Data () const |
|
const int16_t * | int16Data () const |
|
const int32_t * | int32Data () const |
|
const int64_t * | int64Data () const |
|
const uint8_t * | uint8Data () const |
|
const uint16_t * | uint16Data () const |
|
const uint32_t * | uint32Data () const |
|
const uint64_t * | uint64Data () const |
|
const Complex * | complexData () const |
|
Complex | toComplex () const |
|
Complex | complexElem (size_t i) const |
|
Complex | complexElem (size_t r, size_t c) const |
|
double * | doubleDataMut () |
|
float * | singleDataMut () |
|
uint8_t * | logicalDataMut () |
|
char * | charDataMut () |
|
void * | rawDataMut () |
|
Complex * | complexDataMut () |
|
int8_t * | int8DataMut () |
|
int16_t * | int16DataMut () |
|
int32_t * | int32DataMut () |
|
int64_t * | int64DataMut () |
|
uint8_t * | uint8DataMut () |
|
uint16_t * | uint16DataMut () |
|
uint32_t * | uint32DataMut () |
|
uint64_t * | uint64DataMut () |
|
double | operator() (size_t i) const |
|
double | operator() (size_t r, size_t c) const |
|
double | operator() (size_t r, size_t c, size_t p) const |
|
double & | elem (size_t i) |
|
double & | elem (size_t r, size_t c) |
|
double & | elem (size_t r, size_t c, size_t p) |
|
char | charElem (size_t i) const |
|
char & | charElemMut (size_t i) |
|
std::string | charRow (size_t r) const |
|
void | resize (size_t newRows, size_t newCols, std::pmr::memory_resource *mr=nullptr) |
|
void | resize3d (size_t newRows, size_t newCols, size_t newPages, std::pmr::memory_resource *mr=nullptr) |
|
void | resizeND (const size_t *newDims, int nd, std::pmr::memory_resource *mr=nullptr) |
|
void | ensureSize (size_t linearIdx, std::pmr::memory_resource *mr=nullptr) |
|
void | appendScalar (double v, std::pmr::memory_resource *mr=nullptr) |
|
void | appendScalarCol (double v, std::pmr::memory_resource *mr=nullptr) |
|
void | promoteToComplex (std::pmr::memory_resource *mr=nullptr) |
|
Value & | cellAt (size_t i) |
|
const Value & | cellAt (size_t i) const |
|
size_t | cslCount () const |
| Value & | cslAt (size_t i) |
| const Value & | cslAt (size_t i) const |
|
size_t | growCellTo (const size_t *coords, int nd, std::pmr::memory_resource *mr=nullptr) |
|
std::pmr::vector< Value > & | cellDataVec () |
|
const std::pmr::vector< Value > & | cellDataVec () const |
|
Value & | field (const std::string &name) |
|
const Value & | field (const std::string &name) const |
|
bool | hasField (const std::string &name) const |
|
std::pmr::map< std::string, Value > & | structFields () |
|
const std::pmr::map< std::string, Value > & | structFields () const |
|
void | setField (size_t linearIdx, const std::string &name, const Value &v) |
|
void | setFieldAll (const std::string &name, const Value &v) |
|
void | removeField (const std::string &name) |
|
std::vector< std::string > | fieldNamesInOrder () const |
|
bool | isStructArray () const |
|
std::pmr::map< std::string, Value > & | structArrayElem (size_t i) |
|
void | growStructArrayTo (size_t idx, std::pmr::memory_resource *mr=nullptr) |
|
size_t | growStructArrayND (const size_t *coords, int nd, std::pmr::memory_resource *mr=nullptr) |
|
const std::pmr::map< std::string, Value > & | structArrayElem (size_t i) const |
|
std::string | funcHandleName () const |
| std::string | funcHandleSource () const |
| | Reconstructed source text of an anonymous-function handle (e.g.
|
|
void | setFuncHandleSource (const std::string &source) |
| | Attach the anonymous-function source text to a freshly-created handle.
|
|
std::string | debugString () const |
|
std::string | formatDisplay (const std::string &name) const |
| bool | isDoubleScalar () const |
| double | scalarVal () const |
| void | setScalarVal (double v) |
| void | setScalarFast (double v) |
| void | setLogicalFast (bool v) |
| bool | isLogicalScalar () const |
| double | fastScalarVal () const |
| bool | isHeapDouble () const |
| const Dims & | heapDims () const |
| int | heapRefCount () const |
| bool | hasHeap () const |
| double * | doubleDataMutFast () |
| const double * | doubleDataFast () const |
| void | swapHeapBufferUnchecked (Value &other) noexcept |
|
| static Value | view (const void *data, ValueType type, Dims dims) |
| | Non-owning view over an externally-owned buffer.
|
|
static Value | scalar (double v, std::pmr::memory_resource *mr=nullptr) |
|
static Value | logicalScalar (bool v, std::pmr::memory_resource *mr=nullptr) |
|
static Value | matrix (size_t rows, size_t cols, ValueType t=ValueType::DOUBLE, std::pmr::memory_resource *mr=nullptr) |
|
static Value | matrix3d (size_t rows, size_t cols, size_t pages, ValueType t=ValueType::DOUBLE, std::pmr::memory_resource *mr=nullptr) |
|
static Value | matrixND (const size_t *dims, int nd, ValueType t=ValueType::DOUBLE, std::pmr::memory_resource *mr=nullptr) |
|
static Value | fromString (const std::string &s, std::pmr::memory_resource *mr=nullptr) |
|
static Value | cell (size_t rows, size_t cols, std::pmr::memory_resource *mr=nullptr) |
|
static Value | cell3D (size_t rows, size_t cols, size_t pages, std::pmr::memory_resource *mr=nullptr) |
|
static Value | cellND (const size_t *dims, int nd, std::pmr::memory_resource *mr=nullptr) |
|
static Value | csl (size_t n, std::pmr::memory_resource *mr=nullptr) |
|
static Value | structure (std::pmr::memory_resource *mr=nullptr) |
|
static Value | structArray (size_t rows, size_t cols, std::pmr::memory_resource *mr=nullptr) |
|
static Value | funcHandle (const std::string &name, std::pmr::memory_resource *mr=nullptr) |
|
static Value | object (const std::string &className, std::shared_ptr< ObjectState > state, bool isHandle, std::pmr::memory_resource *mr=nullptr) |
|
static Value | objectArray (const std::string &className, const Dims &dims, std::vector< std::shared_ptr< ObjectState > > states, bool isHandle, std::pmr::memory_resource *mr=nullptr) |
| static Value | empty () |
| | Returns a default-constructed (Unset) Value — NOT a MATLAB empty matrix despite the name.
|
|
static Value | deleted () |
|
static Value | colonRange (double start, double stop, std::pmr::memory_resource *mr=nullptr) |
|
static Value | colonRange (double start, double step, double stop, std::pmr::memory_resource *mr=nullptr) |
|
static Value | colonRangeTyped (double start, double stop, ValueType t, std::pmr::memory_resource *mr=nullptr) |
|
static Value | colonRangeTyped (double start, double step, double stop, ValueType t, std::pmr::memory_resource *mr=nullptr) |
|
static size_t | colonCount (double start, double step, double stop) |
|
static Value | horzcat (const Value *elems, size_t count, std::pmr::memory_resource *mr=nullptr) |
|
static Value | vertcat (const Value *elems, size_t count, std::pmr::memory_resource *mr=nullptr) |
|
static std::vector< size_t > | resolveIndices (const Value &idx, size_t dimSize) |
|
static std::vector< size_t > | resolveIndicesUnchecked (const Value &idx) |
|
static size_t | checkedScalarIndex (double oneBased) |
|
static Value | complexScalar (Complex v, std::pmr::memory_resource *mr=nullptr) |
|
static Value | complexScalar (double re, double im, std::pmr::memory_resource *mr=nullptr) |
|
static Value | complexMatrix (size_t rows, size_t cols, std::pmr::memory_resource *mr=nullptr) |
|
static Value | stringScalar (const std::string &s, std::pmr::memory_resource *mr=nullptr) |
|
static Value | stringArray (size_t rows, size_t cols, std::pmr::memory_resource *mr=nullptr) |
|
static Value | stringArray3D (size_t rows, size_t cols, size_t pages, std::pmr::memory_resource *mr=nullptr) |
|
static Value | objectConcatN (const Value *parts, size_t count, const Dims &outDims, std::pmr::memory_resource *mr=nullptr) |
Core MATLAB-compatible multidimensional array and scalar value type.
Represents scalars, matrices, multi-dimensional arrays, strings, cell arrays, and structures with copy-on-write (COW) semantics and polymorphic PMR memory resource allocation.
Definition at line 60 of file value.hpp.