Main Content

matlab::data::Array

Clase básica C++ para todos los tipos de arreglos

Descripción

Utilice objetos Array para representar arreglos únicos y multidimensionales. La clase Array proporciona métodos para obtener información genérica sobre todos los arreglos, como dimensiones y tipo. La clase tiene métodos para crear tanto copias (clonadas) profundas como copias de datos compartidos y admite semántica COW (copiar al escribir).

Para construir objetos Array, utilice métodos ArrayFactory.

Detalles de clases

Espacio de nombres:

matlab::data

Incluir:

MDArray.hpp

Constructores

Constructor predeterminado

Array()

Arroja

Ninguna

Constructores de copia

Array(const Array& rhs)

Descripción

Crea una copia de datos compartidos de un objeto Array.

Parámetros

const Array& rhs

Valor que se desea copiar.

Arroja

Ninguna

Operadores de asignación de copia

Array& operator=(const Array& rhs)

Descripción

Asigna una copia de datos compartidos a un objeto Array.

Parámetros

const Array& rhs

Valor que se desea copiar.

Devuelve

Array&

Instancia actualizada.

Arroja

Ninguna

Constructor de movimiento

Array(Array&& rhs)

Descripción

Mueve contenido de un objeto Array a una nueva instancia.

Parámetros

Array&& rhs

Valor que se desea mover.

Arroja

Ninguna

Operadores de asignación de movimiento

Array& operator=(Array&& rhs)

Descripción

Asigna la entrada a este objeto Array.

Parámetros

Array&& rhs

Valor que se desea mover.

Devuelve

Array&

Instancia actualizada.

Arroja

Ninguna

Destructor

virtual ~Array()

Operadores de indexación

operator[]

ArrayElementRef<false> operator[](size_t idx)

ArrayElementRef<true> operator[](size_t idx) const

Descripción

Permite indexar [] en arreglos const y no const. La indexación es de base 0.

Parámetros

size_t idx

Primer índice de arreglo

Devuelve

ArrayElementRef<false>

Objeto temporal que contiene el índice especificado. El valor de retorno permite modificar o recuperar el elemento del arreglo.

ArrayElementRef<true>

Objeto temporal que contiene el índice especificado. El valor de retorno permite recuperar el elemento del arreglo, pero no modificarlo.

Arroja

Ninguna

Funciones de miembro

getType

ArrayType getType() const
Devuelve

ArrayType

Tipo de arreglo.

Arroja

Ninguna

getMemoryLayout

MemoryLayout getMemoryLayout() const
Devuelve

MemoryLayout

Diseño de la memoria del arreglo, especificado como MemoryLayout::COLUMN_MAJOR o MemoryLayout::ROW_MAJOR.

Arroja

matlab::data::FeatureNotSupportedException

Los arreglos creados antes de la versión R2019a no admitían distintos diseños de memoria. El diseño de la memoria siempre ha sido de columna principal.

getDimensions

ArrayDimensions getDimensions() const
Devuelve

ArrayDimensions

Vector de cada dimensión del arreglo.

Arroja

Ninguna

getNumberOfElements

size_t getNumberOfElements() const
Devuelve

size_t

El número de elementos del arreglo.

Arroja

Ninguna

isEmpty

bool isEmpty() const
Devuelve

bool

Verdadero si el arreglo está vacío. Falso si el arreglo no está vacío.

Arroja

Ninguna

Funciones libres

getReadOnlyElements

template <typename T>
Range<TypedIterator, T const> getReadOnlyElements(const Array& arr)
Descripción

Obtenga un intervalo que contenga los elementos de Array. Los iteradores que contiene el intervalo son const.

Parámetros

const Array& arr

Array

Devuelve

Range<TypedIterator, T const>

Intervalo que contiene los iteradores begin y end para el objeto Array de entrada.

Arroja

matlab::data::InvalidArrayTypeException

Array no contiene el tipo T.

getWritableElements

template <typename T>
Range<TypedIterator, T> getWritableElements(Array& arr)
Descripción

Obtenga un intervalo que contenga los elementos de Array. Los iteradores que contiene el intervalo son no const.

Parámetros

Array& arr

Array

Devuelve

Range<TypedIterator, T>

Intervalo que contiene los iteradores begin y end para el objeto Array de entrada.

Arroja

matlab::data::InvalidArrayTypeException

Array no contiene el tipo T.

Historial de versiones

Introducido en R2017b

expandir todo

Consulte también