6
votes

Safe_Ptr implémentation

J'essaie de mettre en œuvre une version sûre de STD :: Shared_Ptr, appelée "Safe_Ptr" qui garantit "non-nullness".

Edit: Suppression de la question. Voir Modifier si vous êtes intéressé. Afficher la solution finale à toute personne intéressée:

Ce code est maintenant hébergé sur code Google . xxx


2 commentaires

+1 beau travail. Vous libérez cela sous une licence?


Je suppose que ce serait sous licence publique générale GNU 3 ou plus. J'apprécierais également un courrier si vous l'utilisez dans un projet.


4 Réponses :


1
votes

Je pense que vous utilisez is_convertible Backwarks. Essayez xxx


2 commentaires

Belle prise ... Cependant maintenant, j'ai un nouveau problème ... s'il vous plaît voir Modifier.


@ronag: Oui, c'est un problème d'accessibilité, qu'une déclaration d'ami va résoudre. Matthieu a donné un exemple dans sa réponse.



4
votes

Vous avez les arguments à is_convertibles code> en arrière. Vous voulez vérifier y * code> à t * code> qui est exprimé comme: xxx pré>

concernant votre édition: oui, vous avez besoin d'une déclaration d'ami P>

// Within the body of the class
template <typename> friend class safe_ptr; // the syntax is peculiar...


0 commentaires

1
votes

Pour l'accès de membre privé Implex _ code>, vous devez être d'amitié d'amie différentes instanciations du modèle Safe_Ptr code>.

template <class Y> friend class safe_ptr;


0 commentaires

1
votes
template<class Y> friend class safe_ptr;

0 commentaires