MD_Vector#

#include <MD_Vector.h>

: Cette classe est un OWN_PTR mais l’objet pointe est partage entre plusieurs

How to cite this class in this doc#

:ref:`MD\_Vector <class-md-vector>`
[MD\_Vector](#class-md-vector)

Detailed description#

instances de cette classe. L’objet pointe ne peut etre accede qu’en “const” et n’est accessible que par des instances de MD_Vector . Donc il n’existe pas de moyen d’y acceder en “non const” autrement qu’avec un cast. La methode attach() et le constructeur par copie rattachent le pointeur a une instance existante deja attachee a un pointeur. La methode attach_detach() s’approprie l’objet pointe par le OWN_PTR et detache l’objet du OWN_PTR. C’est la seule facon de “construire” les objets MD_Vector (evite une copie, et permet d’assurer que le MD_Vect ne peut plus etre modifie une fois que qu’il a ete attache a un MD_Vector ) ATTENTION: la securite de la methode repose sur le fait que l’instance pointee par MD_Vector n’est accessible nulle part ailleurs que par des objets MD_Vector . NE PAS AJOUTER de methode attach(const MD_Vector_base &), cela casse la securite de la classe !!! (B.Mathieu) inline d’un maximum de methodes pour ne pas penaliser les tableaux non distribues, tout en evitant d’inclure MD_Vector_base.h

List of Public Methods#

Complete Member Function Documentation#

attach
void MD_Vector::attach(const MD_Vector &)

Detache le pointeur et attache au meme objet que src.

Referenced By
How to cite in this doc:
:ref:`void MD_Vector::attach(const MD_Vector &) <public-void-md-vector-attach-const-md-vector-ref>`
[void MD_Vector::attach(const MD_Vector &)](#public-void-md-vector-attach-const-md-vector-ref)
copy
void MD_Vector::copy(const MD_Vector_base &)

construction d’un objet MD_Vector par copie d’un objet existant.

C’est la methode recommandee pour creer un objet MD_Vector (autrement que par copie d’un autre MD_Vector )

References
Referenced By
How to cite in this doc:
:ref:`void MD_Vector::copy(const MD_Vector_base &) <public-void-md-vector-copy-const-md-vector-base-ref>`
[void MD_Vector::copy(const MD_Vector_base &)](#public-void-md-vector-copy-const-md-vector-base-ref)
detach
void MD_Vector::detach()

Detache le pointeur de l’objet pointe.

Referenced By
How to cite in this doc:
:ref:`void MD_Vector::detach() <public-void-md-vector-detach>`
[void MD_Vector::detach()](#public-void-md-vector-detach)
MD_Vector
MD_Vector::MD_Vector()
How to cite in this doc:
:ref:`MD_Vector::MD_Vector() <public-md-vector-md-vector>`
[MD_Vector::MD_Vector()](#public-md-vector-md-vector)
MD_Vector
MD_Vector::MD_Vector(const MD_Vector &)

constructeur par copie, associe le pointeur au meme objet que la source

References
How to cite in this doc:
:ref:`MD_Vector::MD_Vector(const MD_Vector &) <public-md-vector-md-vector-const-md-vector-ref>`
[MD_Vector::MD_Vector(const MD_Vector &)](#public-md-vector-md-vector-const-md-vector-ref)
non_nul
int MD_Vector::non_nul() const
Referenced By
How to cite in this doc:
:ref:`int MD_Vector::non_nul() const <public-int-md-vector-non-nul-const>`
[int MD_Vector::non_nul() const](#public-int-md-vector-non-nul-const)
operator! =
int MD_Vector::operator!=(const MD_Vector &) const

reponse inverse de = = …

References
How to cite in this doc:
:ref:`int MD_Vector::operator!=(const MD_Vector &) const <public-int-md-vector-operator!-equal-const-md-vector-ref-const>`
[int MD_Vector::operator!=(const MD_Vector &) const](#public-int-md-vector-operator!-equal-const-md-vector-ref-const)
operator - >
const MD_Vector_base * MD_Vector::operator->() const
How to cite in this doc:
:ref:`const MD_Vector_base * MD_Vector::operator->() const <public-const-md-vector-base-ptr-md-vector-operator-const>`
[const MD_Vector_base * MD_Vector::operator->() const](#public-const-md-vector-base-ptr-md-vector-operator-const)
operator =
MD_Vector & MD_Vector::operator=(const MD_Vector &)

idem que attach(src)

References
How to cite in this doc:
:ref:`MD_Vector & MD_Vector::operator=(const MD_Vector &) <public-md-vector-ref-md-vector-operator-equal-const-md-vector-ref>`
[MD_Vector & MD_Vector::operator=(const MD_Vector &)](#public-md-vector-ref-md-vector-operator-equal-const-md-vector-ref)
operator = =
int MD_Vector::operator==(const MD_Vector &) const

renvoie 1 si les structures sont identiques, 0 sinon

Referenced By
How to cite in this doc:
:ref:`int MD_Vector::operator==(const MD_Vector &) const <public-int-md-vector-operator-equal-equal-const-md-vector-ref-const>`
[int MD_Vector::operator==(const MD_Vector &) const](#public-int-md-vector-operator-equal-equal-const-md-vector-ref-const)
valeur
const MD_Vector_base & MD_Vector::valeur() const
Referenced By
How to cite in this doc:
:ref:`const MD_Vector_base & MD_Vector::valeur() const <public-const-md-vector-base-ref-md-vector-valeur-const>`
[const MD_Vector_base & MD_Vector::valeur() const](#public-const-md-vector-base-ref-md-vector-valeur-const)

Attributes Documentation#

ptr_ (private)
std::shared_ptr<MD_Vector_base> MD_Vector::ptr_