Types publics | Fonctions membres publiques | Types protégés | Fonctions membres protégées | Attributs protégés

Référence de la classe Castor::Matrix< T, Rows, Columns > (modèle)

Représentation d'une matrice, le type des éléments et les dimensions de la matrice sont en template. Plus de détails...

Graphe de collaboration de Castor::Matrix< T, Rows, Columns >:

Liste de tous les membres

Types publics

typedef __value_type value_type
 Typedef sur le type de données.
typedef __column col_type
 Typedef sur le type de colonne.
typedef __row row_type
 Typedef sur le type de ligne.
typedef __transpose transpose_type
 Typedef sur le type de matrice transposée.
typedef __policy policy
 Typedef sur la politique.
typedef Matrix< value_type,
Rows, Columns > 
my_type
 Typedef sur le type de cette matrice.

Fonctions membres publiques

 Matrix ()
 Constructeur.
 Matrix (Matrix< T, Columns, Rows > const &p_matrix)
 Constructeur par copie.
 Matrix (Matrix< T, Columns, Rows > &&p_matrix)
 Constructeur par déplacement.
 Matrix (T const &p_tValue)
 Constructeur.
template<typename Type >
 Matrix (Type const *p_pMatrix)
 Constructeur.
template<typename Type >
 Matrix (Matrix< Type, Columns, Rows > const &p_matrix)
 Constructeur par copie convertie.
virtual ~Matrix ()
 Destructeur.
void set_row (std::size_t p_uiRow, value_type const *p_row)
 Définit les valeurs d'une ligne donnée.
void set_row (std::size_t p_uiRow, row_type const &p_row)
 Définit les valeurs d'une ligne donnée.
row_type get_row (std::size_t p_uiRow) const
 Récupère une ligne.
void get_row (std::size_t p_uiRow, row_type &p_mResult) const
 Récupère une ligne.
void set_column (std::size_t p_uiColumn, value_type const *p_col)
 Définit les valeurs d'une colonne donnée.
void set_column (std::size_t p_uiColumn, col_type const &p_col)
 Définit les valeurs d'une colonne donnée.
col_type get_column (std::size_t p_uiColumn) const
 Récupère une colonne.
void get_column (std::size_t p_uiColumn, col_type &p_mResult) const
 Récupère une colonne.
value_type value_at (std::size_t p_uiRow, std::size_t p_uiColumn)
 Récupère la valeur à la position donnée.
col_type const & operator[] (std::size_t i) const
 Récupère la colonne à l'index donné.
col_typeoperator[] (std::size_t i)
 Récupère la colonne à l'index donné.
value_typeptr ()
 Récupère le pointeur sur les données.
value_type const * const_ptr () const
 Récupère le pointeur sur les données constantes.
void link (void *p_pCoords)
 Lie les données de cette matrice à celles données en paramètre.
void initialise (value_type const &p_value=policy::zero())
 Initialise la matrice comme une matrice de Jordan, avec la valeur donnée.
transpose_type get_transposed () const
 Calcule et renvoie la transposée de cette matrice.
void get_transposed (transpose_type &p_mResult) const
 Calcule la transposée de cette matrice.
my_type get_triangle () const
 Calcule et renvoie la triangulaire de cette matrice.
my_type get_jordan (value_type p_tLambda) const
 Calcule et renvoie une matrice de Jordan.
my_type get_identity () const
 Calcule et renvoie une matrice identité.
value_type get_trace () const
 Récupère la trace de cette matrice.
void set_triangle ()
 Définit cette matrice comme sa triangulaire.
void set_jordan (value_type p_tLambda)
 Définit cette matrice à une matrice de Jordan.
void set_identity ()
 Définit cette matrice à l'identité.
Matrix< T, Rows, Columns > & operator= (Matrix< T, Rows, Columns > const &p_matrix)
 Opérateur d'affectation par copie.
Matrix< T, Rows, Columns > & operator= (Matrix< T, Rows, Columns > &&p_matrix)
 Opérateur d'affectation par déplacement.
template<typename Type >
Matrix< T, Rows, Columns > & operator= (Matrix< Type, Rows, Columns > const &p_matrix)
 Opérateur d'affectation par copie convertie.
template<typename Type >
Matrix< T, Rows, Columns > & operator+= (Matrix< Type, Rows, Columns > const &p_matrix)
 Opérateur d'affectation par addition.
template<typename Type >
Matrix< T, Rows, Columns > & operator-= (Matrix< Type, Rows, Columns > const &p_matrix)
 Opérateur d'affectation par soustraction.
template<typename Type >
Matrix< T, Rows, Columns > & operator= (Type const *p_pMatrix)
 Opérateur d'affectation par copie convertie.
template<typename Type >
Matrix< T, Rows, Columns > & operator+= (Type const *p_pMatrix)
 Opérateur d'affectation par addition.
template<typename Type >
Matrix< T, Rows, Columns > & operator-= (Type const *p_pMatrix)
 Opérateur d'affectation par soustraction.
Matrix< T, Rows, Columns > & operator+= (T const &p_tValue)
 Opérateur d'affectation par addition.
Matrix< T, Rows, Columns > & operator-= (T const &p_tValue)
 Opérateur d'affectation par soustraction.
Matrix< T, Rows, Columns > & operator*= (T const &p_tValue)
 Opérateur d'affectation par multiplication.
Matrix< T, Rows, Columns > & operator/= (T const &p_tValue)
 Opérateur d'affectation par division.

Types protégés

typedef T __value_type
typedef Matrix< __value_type,
Rows, Columns > 
__type
typedef Matrix< __value_type,
Columns, Rows > 
__transpose
typedef Point< __value_type,
Columns > 
__row
typedef Point< __value_type, Rows > __column
typedef Castor::Policy
< __value_type
__policy

Fonctions membres protégées

my_type rec_get_minor (std::size_t x, std::size_t y, std::size_t p_uiRows, std::size_t p_uiCols) const

Attributs protégés

bool m_bOwnCoords
col_type m_matrix [Columns]
value_typem_pPointer

Description détaillée

template<typename T, std::size_t Rows, std::size_t Columns>
class Castor::Matrix< T, Rows, Columns >

Représentation d'une matrice, le type des éléments et les dimensions de la matrice sont en template.

Auteur:
Sylvain DOREMUS
Version:
0.1.0.0
Date:
09/02/2010
Remarques:
Peut contenir n'importe quel élément qui a une Castor::Policy

Documentation des définitions de type membres

template<typename T, std::size_t Rows, std::size_t Columns>
typedef Point<__value_type, Rows> Castor::Matrix< T, Rows, Columns >::__column [protected]
template<typename T, std::size_t Rows, std::size_t Columns>
typedef Castor::Policy<__value_type> Castor::Matrix< T, Rows, Columns >::__policy [protected]
template<typename T, std::size_t Rows, std::size_t Columns>
typedef Point<__value_type, Columns> Castor::Matrix< T, Rows, Columns >::__row [protected]
template<typename T, std::size_t Rows, std::size_t Columns>
typedef Matrix<__value_type, Columns, Rows> Castor::Matrix< T, Rows, Columns >::__transpose [protected]
template<typename T, std::size_t Rows, std::size_t Columns>
typedef Matrix<__value_type, Rows, Columns> Castor::Matrix< T, Rows, Columns >::__type [protected]
template<typename T, std::size_t Rows, std::size_t Columns>
typedef T Castor::Matrix< T, Rows, Columns >::__value_type [protected]
template<typename T, std::size_t Rows, std::size_t Columns>
typedef __column Castor::Matrix< T, Rows, Columns >::col_type

Typedef sur le type de colonne.

Réimplémentée dans Castor::SquareMatrix< T, Rows >.

template<typename T, std::size_t Rows, std::size_t Columns>
typedef Matrix< value_type, Rows, Columns > Castor::Matrix< T, Rows, Columns >::my_type

Typedef sur le type de cette matrice.

template<typename T, std::size_t Rows, std::size_t Columns>
typedef __policy Castor::Matrix< T, Rows, Columns >::policy

Typedef sur la politique.

Réimplémentée dans Castor::SquareMatrix< T, Rows >.

template<typename T, std::size_t Rows, std::size_t Columns>
typedef __row Castor::Matrix< T, Rows, Columns >::row_type

Typedef sur le type de ligne.

Réimplémentée dans Castor::SquareMatrix< T, Rows >.

template<typename T, std::size_t Rows, std::size_t Columns>
typedef __transpose Castor::Matrix< T, Rows, Columns >::transpose_type

Typedef sur le type de matrice transposée.

Réimplémentée dans Castor::SquareMatrix< T, Rows >.

template<typename T, std::size_t Rows, std::size_t Columns>
typedef __value_type Castor::Matrix< T, Rows, Columns >::value_type

Typedef sur le type de données.

Réimplémentée dans Castor::SquareMatrix< T, Rows >.


Documentation des constructeurs et destructeur

template<typename T, std::size_t Rows, std::size_t Columns>
Castor::Matrix< T, Rows, Columns >::Matrix (  ) 

Constructeur.

template<typename T, std::size_t Rows, std::size_t Columns>
Castor::Matrix< T, Rows, Columns >::Matrix ( Matrix< T, Columns, Rows > const &  p_matrix  ) 

Constructeur par copie.

Paramètres:
[in] p_matrix L'objet Matrix à copier
template<typename T, std::size_t Rows, std::size_t Columns>
Castor::Matrix< T, Rows, Columns >::Matrix ( Matrix< T, Columns, Rows > &&  p_matrix  ) 

Constructeur par déplacement.

Paramètres:
[in] p_matrix L'objet Matrix à déplacer
template<typename T, std::size_t Rows, std::size_t Columns>
Castor::Matrix< T, Rows, Columns >::Matrix ( T const &  p_tValue  ) 

Constructeur.

Paramètres:
[in] p_tValue La matrice est initialisée comme une Jordan avec cette valeur
template<typename T, std::size_t Rows, std::size_t Columns>
template<typename Type >
Castor::Matrix< T, Rows, Columns >::Matrix ( Type const *  p_pMatrix  ) 

Constructeur.

Paramètres:
[in] p_pMatrix Buffer de données à copier dans la matrice
template<typename T, std::size_t Rows, std::size_t Columns>
template<typename Type >
Castor::Matrix< T, Rows, Columns >::Matrix ( Matrix< Type, Columns, Rows > const &  p_matrix  ) 

Constructeur par copie convertie.

Paramètres:
[in] p_matrix L'objet Matrix à copier
template<typename T, std::size_t Rows, std::size_t Columns>
virtual Castor::Matrix< T, Rows, Columns >::~Matrix (  )  [virtual]

Destructeur.


Documentation des fonctions membres

template<typename T, std::size_t Rows, std::size_t Columns>
value_type const* Castor::Matrix< T, Rows, Columns >::const_ptr (  )  const [inline]

Récupère le pointeur sur les données constantes.

Renvoie:
Les données

Voici le graphe d'appel pour cette fonction :

template<typename T, std::size_t Rows, std::size_t Columns>
void Castor::Matrix< T, Rows, Columns >::get_column ( std::size_t  p_uiColumn,
col_type p_mResult 
) const

Récupère une colonne.

Paramètres:
[in] p_uiColumn L'index de la colonne
[out] p_mResult Reçoit les valeurs de la colonne
template<typename T, std::size_t Rows, std::size_t Columns>
col_type Castor::Matrix< T, Rows, Columns >::get_column ( std::size_t  p_uiColumn  )  const

Récupère une colonne.

Paramètres:
[in] p_uiColumn L'index de la colonne
Renvoie:
La colonne
template<typename T, std::size_t Rows, std::size_t Columns>
my_type Castor::Matrix< T, Rows, Columns >::get_identity (  )  const

Calcule et renvoie une matrice identité.

Renvoie:
La matrice identité
template<typename T, std::size_t Rows, std::size_t Columns>
my_type Castor::Matrix< T, Rows, Columns >::get_jordan ( value_type  p_tLambda  )  const

Calcule et renvoie une matrice de Jordan.

Paramètres:
[in] p_tLambda La valeur de Jordan
Renvoie:
La matrice de Jordan
template<typename T, std::size_t Rows, std::size_t Columns>
void Castor::Matrix< T, Rows, Columns >::get_row ( std::size_t  p_uiRow,
row_type p_mResult 
) const

Récupère une ligne.

Paramètres:
[in] p_uiRow L'index de la ligne
[out] p_mResult Reçoit les valeurs de la ligne
template<typename T, std::size_t Rows, std::size_t Columns>
row_type Castor::Matrix< T, Rows, Columns >::get_row ( std::size_t  p_uiRow  )  const

Récupère une ligne.

Paramètres:
[in] p_uiRow L'index de la ligne
Renvoie:
La ligne
template<typename T, std::size_t Rows, std::size_t Columns>
value_type Castor::Matrix< T, Rows, Columns >::get_trace (  )  const

Récupère la trace de cette matrice.

Renvoie:
La trace
template<typename T, std::size_t Rows, std::size_t Columns>
transpose_type Castor::Matrix< T, Rows, Columns >::get_transposed (  )  const

Calcule et renvoie la transposée de cette matrice.

Renvoie:
La transposée
template<typename T, std::size_t Rows, std::size_t Columns>
void Castor::Matrix< T, Rows, Columns >::get_transposed ( transpose_type p_mResult  )  const

Calcule la transposée de cette matrice.

Paramètres:
[in] p_mResult Reçoit la transposée
template<typename T, std::size_t Rows, std::size_t Columns>
my_type Castor::Matrix< T, Rows, Columns >::get_triangle (  )  const

Calcule et renvoie la triangulaire de cette matrice.

Renvoie:
La triangulaire
template<typename T, std::size_t Rows, std::size_t Columns>
void Castor::Matrix< T, Rows, Columns >::initialise ( value_type const &  p_value = policy::zero()  ) 

Initialise la matrice comme une matrice de Jordan, avec la valeur donnée.

Paramètres:
[in] p_value La valeur
template<typename T, std::size_t Rows, std::size_t Columns>
void Castor::Matrix< T, Rows, Columns >::link ( void *  p_pCoords  ) 

Lie les données de cette matrice à celles données en paramètre.

Remarques:
La matrice perd la maîtrise de ses données
template<typename T, std::size_t Rows, std::size_t Columns>
Matrix<T, Rows, Columns>& Castor::Matrix< T, Rows, Columns >::operator*= ( T const &  p_tValue  ) 

Opérateur d'affectation par multiplication.

Paramètres:
[in] p_tValue La valeur à multiplier
Renvoie:
Une référence sur cet objet Matrix

Réimplémentée dans Castor::SquareMatrix< T, Rows >.

template<typename T, std::size_t Rows, std::size_t Columns>
Matrix<T, Rows, Columns>& Castor::Matrix< T, Rows, Columns >::operator+= ( T const &  p_tValue  ) 

Opérateur d'affectation par addition.

Paramètres:
[in] p_tValue La valeur à additionner
Renvoie:
Une référence sur cet objet Matrix

Réimplémentée dans Castor::SquareMatrix< T, Rows >.

template<typename T, std::size_t Rows, std::size_t Columns>
template<typename Type >
Matrix<T, Rows, Columns>& Castor::Matrix< T, Rows, Columns >::operator+= ( Matrix< Type, Rows, Columns > const &  p_matrix  ) 

Opérateur d'affectation par addition.

Paramètres:
[in] p_matrix L'objet Matrix à ajouter
Renvoie:
Une référence sur cet objet Matrix
template<typename T, std::size_t Rows, std::size_t Columns>
template<typename Type >
Matrix<T, Rows, Columns>& Castor::Matrix< T, Rows, Columns >::operator+= ( Type const *  p_pMatrix  ) 

Opérateur d'affectation par addition.

Paramètres:
[in] p_pMatrix Le pointeur sur les données à ajouter
Renvoie:
Une référence sur cet objet Matrix

Réimplémentée dans Castor::SquareMatrix< T, Rows >.

template<typename T, std::size_t Rows, std::size_t Columns>
Matrix<T, Rows, Columns>& Castor::Matrix< T, Rows, Columns >::operator-= ( T const &  p_tValue  ) 

Opérateur d'affectation par soustraction.

Paramètres:
[in] p_tValue La valeur à soustraire
Renvoie:
Une référence sur cet objet Matrix

Réimplémentée dans Castor::SquareMatrix< T, Rows >.

template<typename T, std::size_t Rows, std::size_t Columns>
template<typename Type >
Matrix<T, Rows, Columns>& Castor::Matrix< T, Rows, Columns >::operator-= ( Matrix< Type, Rows, Columns > const &  p_matrix  ) 

Opérateur d'affectation par soustraction.

Paramètres:
[in] p_matrix L'objet Matrix à soustraire
Renvoie:
Une référence sur cet objet Matrix
template<typename T, std::size_t Rows, std::size_t Columns>
template<typename Type >
Matrix<T, Rows, Columns>& Castor::Matrix< T, Rows, Columns >::operator-= ( Type const *  p_pMatrix  ) 

Opérateur d'affectation par soustraction.

Paramètres:
[in] p_pMatrix Le pointeur sur les données à soustraire
Renvoie:
Une référence sur cet objet Matrix

Réimplémentée dans Castor::SquareMatrix< T, Rows >.

template<typename T, std::size_t Rows, std::size_t Columns>
Matrix<T, Rows, Columns>& Castor::Matrix< T, Rows, Columns >::operator/= ( T const &  p_tValue  ) 

Opérateur d'affectation par division.

Paramètres:
[in] p_tValue La valeur à diviser
Renvoie:
Une référence sur cet objet Matrix

Réimplémentée dans Castor::SquareMatrix< T, Rows >.

template<typename T, std::size_t Rows, std::size_t Columns>
template<typename Type >
Matrix<T, Rows, Columns>& Castor::Matrix< T, Rows, Columns >::operator= ( Type const *  p_pMatrix  ) 

Opérateur d'affectation par copie convertie.

Paramètres:
[in] p_pMatrix Le pointeur sur les données à copier
Renvoie:
Une référence sur cet objet Matrix

Réimplémentée dans Castor::SquareMatrix< T, Rows >.

template<typename T, std::size_t Rows, std::size_t Columns>
Matrix<T, Rows, Columns>& Castor::Matrix< T, Rows, Columns >::operator= ( Matrix< T, Rows, Columns > const &  p_matrix  ) 

Opérateur d'affectation par copie.

Paramètres:
[in] p_matrix L'objet Matrix à copier
Renvoie:
Une référence sur cet objet Matrix
template<typename T, std::size_t Rows, std::size_t Columns>
Matrix<T, Rows, Columns>& Castor::Matrix< T, Rows, Columns >::operator= ( Matrix< T, Rows, Columns > &&  p_matrix  ) 

Opérateur d'affectation par déplacement.

Paramètres:
[in] p_matrix L'objet Matrix à déplacer
Renvoie:
Une référence sur cet objet Matrix
template<typename T, std::size_t Rows, std::size_t Columns>
template<typename Type >
Matrix<T, Rows, Columns>& Castor::Matrix< T, Rows, Columns >::operator= ( Matrix< Type, Rows, Columns > const &  p_matrix  ) 

Opérateur d'affectation par copie convertie.

Paramètres:
[in] p_matrix L'objet Matrix à copier
Renvoie:
Une référence sur cet objet Matrix
template<typename T, std::size_t Rows, std::size_t Columns>
col_type const& Castor::Matrix< T, Rows, Columns >::operator[] ( std::size_t  i  )  const

Récupère la colonne à l'index donné.

Paramètres:
[in] i L'index
Renvoie:
Une référence constante sur la colonne
template<typename T, std::size_t Rows, std::size_t Columns>
col_type& Castor::Matrix< T, Rows, Columns >::operator[] ( std::size_t  i  ) 

Récupère la colonne à l'index donné.

Paramètres:
[in] i L'index
Renvoie:
Une référence sur la colonne
template<typename T, std::size_t Rows, std::size_t Columns>
value_type* Castor::Matrix< T, Rows, Columns >::ptr (  )  [inline]

Récupère le pointeur sur les données.

Renvoie:
Les données

Voici le graphe d'appel pour cette fonction :

template<typename T, std::size_t Rows, std::size_t Columns>
my_type Castor::Matrix< T, Rows, Columns >::rec_get_minor ( std::size_t  x,
std::size_t  y,
std::size_t  p_uiRows,
std::size_t  p_uiCols 
) const [protected]
template<typename T, std::size_t Rows, std::size_t Columns>
void Castor::Matrix< T, Rows, Columns >::set_column ( std::size_t  p_uiColumn,
col_type const &  p_col 
)

Définit les valeurs d'une colonne donnée.

Paramètres:
[in] p_uiColumn La colonne à affecter
[in] p_col Les valeurs
template<typename T, std::size_t Rows, std::size_t Columns>
void Castor::Matrix< T, Rows, Columns >::set_column ( std::size_t  p_uiColumn,
value_type const *  p_col 
)

Définit les valeurs d'une colonne donnée.

Paramètres:
[in] p_uiColumn La colonne à affecter
[in] p_col Les valeurs
template<typename T, std::size_t Rows, std::size_t Columns>
void Castor::Matrix< T, Rows, Columns >::set_identity (  ) 

Définit cette matrice à l'identité.

template<typename T, std::size_t Rows, std::size_t Columns>
void Castor::Matrix< T, Rows, Columns >::set_jordan ( value_type  p_tLambda  ) 

Définit cette matrice à une matrice de Jordan.

Paramètres:
[in] p_tLambda La valeur de Jordan
template<typename T, std::size_t Rows, std::size_t Columns>
void Castor::Matrix< T, Rows, Columns >::set_row ( std::size_t  p_uiRow,
value_type const *  p_row 
)

Définit les valeurs d'une ligne donnée.

Paramètres:
[in] p_uiRow La ligne à affecter
[in] p_row Les valeurs
template<typename T, std::size_t Rows, std::size_t Columns>
void Castor::Matrix< T, Rows, Columns >::set_row ( std::size_t  p_uiRow,
row_type const &  p_row 
)

Définit les valeurs d'une ligne donnée.

Paramètres:
[in] p_uiRow La ligne à affecter
[in] p_row Les valeurs
template<typename T, std::size_t Rows, std::size_t Columns>
void Castor::Matrix< T, Rows, Columns >::set_triangle (  ) 

Définit cette matrice comme sa triangulaire.

template<typename T, std::size_t Rows, std::size_t Columns>
value_type Castor::Matrix< T, Rows, Columns >::value_at ( std::size_t  p_uiRow,
std::size_t  p_uiColumn 
)

Récupère la valeur à la position donnée.

Paramètres:
[in] p_uiRow,p_uiColumn La position
Renvoie:
La valeur

Documentation des données membres

template<typename T, std::size_t Rows, std::size_t Columns>
bool Castor::Matrix< T, Rows, Columns >::m_bOwnCoords [protected]
template<typename T, std::size_t Rows, std::size_t Columns>
col_type Castor::Matrix< T, Rows, Columns >::m_matrix[Columns] [protected]
template<typename T, std::size_t Rows, std::size_t Columns>
value_type* Castor::Matrix< T, Rows, Columns >::m_pPointer [protected]

La documentation de cette classe a été générée à partir du fichier suivant :
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Définition de type Énumérations Valeurs énumérées Amis Macros