Aleph-w  1.5a.2
Biblioteca general de algoritmos y estructuras de datos
 Todo Clases Archivos Funciones Variables 'typedefs' Enumeraciones Amigas Grupos Páginas
Referencia de la plantilla de la Clase Aleph::DynMatrix< T >

#include <tpl_dynMat.H>

Métodos públicos

void set_default_initial_value (const T &value)
 
void swap (DynMatrix &mat)
 
void set_dimension (const size_t __n, const size_t __m)
 Reajusta la dimensión del arreglo.
 
void allocate ()
 Asegura que toda la memoria del arreglo esté apartada.
 
 DynMatrix (const size_t __n, const size_t __m, const T &zero=T())
 
 DynMatrix (const DynMatrix< T > &mat)
 
 DynMatrix (DynMatrix< T > &&mat)
 
DynMatrix< T > & operator= (const DynMatrix< T > &mat)
 
DynMatrix< T > operator= (DynMatrix< T > &&mat)
 
bool operator== (const DynMatrix< T > &mat) const
 
const size_t & rows () const
 Retorna la cantidad de filas de la matriz.
 
const size_t & cols () const
 Retorna la cantidad de columnas de la matriz.
 
const T & read (const size_t i, const size_t j) const
 Lee el valor de la i fila j columna.
 
T & write (const size_t i, const size_t j, const T &data)
 
T & access (const size_t i, const size_t j)
 acceso sin verificación de entrada esparcida
 
T & operator() (const size_t i, const size_t j)
 
T & access (const size_t i, const size_t j) const
 
T & operator() (const size_t i, const size_t j) const
 
template<class Operation >
bool traverse (Operation &operation) const
 
template<class Operation >
bool traverse (Operation &operation)
 
template<class Operation >
bool traverse (Operation &&operation=Operation()) const
 
template<class Operation >
bool traverse (Operation &&operation=Operation())
 
 Functional_Methods (T)
 

Descripción detallada

template<typename T>
class Aleph::DynMatrix< T >

Matriz dinámica.

Esta clase implementa una matriz rectangular de n filas por m columnas, basada en el tipo DynArray, que contiene elementos genérico de tipo T. Puesto que está basada en DynArray, muchos de las entradas que nunca hayan sido escritas consumen espacio de memoria.

Por omisión, las entradas de la matriz albergan el valor DynMatrix<T>::Zero, el cual es el valor que escribe el constructor por omisión del tipo genérico T::T(), lo que exige obligatoriedad en la existencia de este constructor.

El acceso a una entrada de una matriz mat se realiza mediante el operador mat(i, j). Este operador distingue lecturas de escrituras, pero es un poco más lento que el acceso a través de las las primitivas read() o write(). Por otra parte, hay situaciones en que no se puede usar el acceso por el operador (i,j).

Cada entrada i,j no escrita contiene el Zero, independientemente de que ocupe o no memoria.

Cuando una entrada se escribe por primera vez, se verifica si existe memoria apartada para albergar la entrada. Si tal es el caso, simplememte se escribe; de lo contrario, a través de DynArray, se aparta memoria y se escribe con el valor dado. DynArray puede fallar en apartar memoria, en cuyo caso se dispara la excepción std::bad_alloc.

Ver también
DynArray

Documentación del constructor y destructor

template<typename T>
Aleph::DynMatrix< T >::DynMatrix ( const size_t  __n,
const size_t  __m,
const T &  zero = T() 
)
inline

Constructor principal de matrix dinámica.

Parámetros
[in]__nnúmero de filas
[in]__mnúmero de columnas
[in]zerovalor cero que debe tener una entrada nula o no escrita de la la matriz. Por omisión, se toma el valor T::T().
Excepciones
bad_allocsi no hay suficiente memoria
template<typename T>
Aleph::DynMatrix< T >::DynMatrix ( const DynMatrix< T > &  mat)
inline

Constructor copia.

Crea una nueva matriz dinámica copia eficiente de los elementos de mat.

Parámetros
[in]matmatriz a copiar.
Excepciones
bad_allocsi no hay suficiente memoria.

Documentación de las funciones miembro

template<typename T>
DynMatrix<T>& Aleph::DynMatrix< T >::operator= ( const DynMatrix< T > &  mat)
inline

Asignación de matriz.

Asigna a this los elementos de mat.

Parámetros
[in]matmatriz a copiar.
Excepciones
bad_allocsi no hay suficiente memoria.
template<typename T>
T& Aleph::DynMatrix< T >::write ( const size_t  i,
const size_t  j,
const T &  data 
)
inline

Escribe data en la i fila y j columna

Parámetros
[in]iíndice de fila
[in]jíndice de columna
[in]datadato a escribir en la entrada i,j
Excepciones
bad_allocsi no hay suficiente memoria.

La documentación para esta clase fue generada a partir del siguiente fichero:

Leandro Rabindranath León