Type Erasure

Présentation et implémentation d'un type erasure en C++

a marqué ce sujet comme résolu.
Auteur du sujet

Bonjour à tous,

J'ai commencé (il y a 1 mois, 1 semaine) la rédaction d'un tutoriel dont l'intitulé est Type Erasure.

J'aimerai obtenir un maximum de retour sur celui-ci, sur le fond ainsi que sur la forme, afin de proposer en validation un texte de qualité.

Si vous êtes intéressé, cliquez ci-dessous

Merci d'avance pour votre aide

Édité par Freedom

+0 -0

Je me base sur la version actuellement en validation et je te fais des remarques au fur et à mesure de ma relecture.

chaque classe fille propose l'interface de la classe mère comme chaque argument template respecte un concept.

J'ai du relire deux - trois fois pour bien comprendre. Peut-être remplacé "comme" par "vu que" ou "étant donné que".

Cette première solution est fonctionnelle mais présente un défaut, en effet dans le cas du polymorphisme paramétrique

Je remplacerais la virgule par : ou un point suivi d'une majuscule.

l'utilisation direct du polymorphisme

directe

Une seconde solution vient répondre à ce problème, avant d'en présenter une implémentation, donnons un exemple concret présent dans la bibliothèque standard.

Pareil que dessus, soit : ou soit un point et deux phrases distinctes.

La bibliothèque standard nous propose ici le type std::function<void()>, il est plus faible que les types …

De même.

Pour améliorer les choses l'on va réaliser un adaptateur

Pour améliorer les choses on va réaliser. D'ailleurs, le code source juste après contient de nombreux retours à la ligne. Est-ce toi qui l'as voulu ?

Voilà, une première passe pour l'orthographe et le français. Sur le fond, je n'ai pas eu de grosses difficultés à lire et à comprendre, sauf peut-être la toute fin. Je te ferai un autre retour plus tard dans la journée.

Nop, c'est le COD (quoi ?) qui compte. Et on accorde uniquement s'il apparaît avant l'auxiliaire. :)

Peut-être « Les pâtes que je t'ai faites » te paraît-il plus naturel ?

Édité par Vayel

+0 -0
Auteur du sujet

Merci pour ces retours, d'accord dans l’ensemble (je préfère la scission au deux points) excepté :

chaque classe fille propose l'interface de la classe mère comme chaque argument template respecte un concept.

J'ai du relire deux - trois fois pour bien comprendre. Peut-être remplacé "comme" par "vu que" ou "étant donné que".

informaticienzero

Non, il s'agit d'une comparaison entre deux situations. Donc vu que/étant donné que ne conviennent pas. Je vais essayer de trouver une formulation alternative qui serait plus clair (un schéma ?).

Pour améliorer les choses l'on va réaliser un adaptateur

Pour améliorer les choses on va réaliser. D'ailleurs, le code source juste après contient de nombreux retours à la ligne. Est-ce toi qui l'as voulu ?

informaticienzero

Il me semble que l'on est tout aussi valable que on. Les nombreux retours à la ligne servent à avoir une cohérence entre les morceaux de code. Si tu prends deux morceaux de code expliquant la même classe, tu verras que les numéros de lignes sont identiques, d'où les blancs quand il y a un morceau qui sera introduit plus tard.

Suite à des discussions entre validateurs : quid de std::tuple et boost::any ?

informaticienzero

Quel boost::any ? Ici ou ici ?

Ce sont en effet deux type-erasure mais le premier est assez pauvre (c'est un void* en gros). Le second est plus intéressant mais je ne voulais pas partir dans une orientation article d'introduction à l'utilisation de boost.TypeErasure.

Pour std::tuple ce n'est pas un type-erasure.

PS: Je ne pourrais pas apporter de modifications dans les jours à venir (je n'aurais internet que sur mon téléphone, ce qui n'est pas adapté à la rédaction).

Édité par Freedom

+0 -0

chaque classe fille propose l'interface de la classe mère comme chaque argument template respecte un concept.

J'ai du relire deux - trois fois pour bien comprendre. Peut-être remplacé "comme" par "vu que" ou "étant donné que".

informaticienzero

Non, il s'agit d'une comparaison entre deux situations. Donc vu que/étant donné que ne conviennent pas. Je vais essayer de trouver une formulation alternative qui serait plus clair (un schéma ?).

Freedom

Est-ce que tout comme serait mieux ?

Auteur du sujet

Bonjour les agrumes !

La bêta de votre tutoriel « Type Erasure » a été mise à jour et coule sa pulpe à l'adresse suivante :

J'ai inclus un schéma sur la partie qui n'était probablement pas très limpide, est-ce que c'est plus clair comme ceci ? Est-ce que d'autre schéma du même genre serait nécessaire ou bénéfique pour d'autre parties ?

Suite à des discussions entre validateurs : quid de std::tuple et boost::any ?

Est-il possible d'avoir les extraits de cette discussion concernant std::tuple et boost::any ? Il y a peut-être des éléments qui pourraient apporter du contenu supplémentaire.

Merci d'avance pour vos commentaires.

Édité par Freedom

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte