Eh bien, vous avez beaucoup d'arguments en faveur du boost :
Si votre patron prétend qu'il ne peut pas l'utiliser en raison de problèmes de licence, vous pourriez copier la licence de Boost, qui est vraiment claire et objective, et lui demander où elle n'est pas claire ?
S'il dit qu'il est difficile de trouver des gens qui comprennent la STL, et encore plus difficile pour Boost, vous pourriez dire qu'il a probablement raison, mais, il est beaucoup plus facile d'apprendre Boost que la STL, même plus, la documentation de Boost est extrêmement bonne, et ont beaucoup d'exemples. Boost est beaucoup plus facile à apprendre que beaucoup de bibliothèques comme MFC, ATL, STL, QT. Ainsi, on pourrait dire que quiconque connaît MFC, ATL, STL ou QT, serait capable de se familiariser rapidement avec Boost.
S'il dit que le boost n'est pas standardisé, demandez-lui de regarder le code boost. Tout le code suit les mêmes directives, les mêmes directives de STL. De plus, la majorité des membres du comité de boost font également partie de la norme C++. Et le TR1 est implémenté dans Boost.
S'il dit qu'il est difficile de distribuer Boost ou qu'il faut s'assurer que le client a la bonne version, vous pouvez simplement dire que vous utiliserez l'outil "bcp". BCP est un outil boost, utilisé pour copier tout le code dépendant de boost directement dans votre application, ainsi, votre application n'utilisera que les fichiers boost qu'elle utilise.
S'il dit que le boost prendrait beaucoup de temps à apprendre, vous pourriez dire que le boost vous ferait gagner beaucoup de temps en vous évitant de réinventer la roue. De plus, il est très difficile d'utiliser Boost de manière incorrecte, ce qui oblige à une bonne qualité du code.
Je ne demanderais probablement pas si je peux utiliser le boost, je l'utiliserais tout simplement. J'ai fait cela plusieurs fois, et les gens que je connaissais qui seraient contre, l'ont apprécié par la suite, d'abord parce qu'ils pouvaient comprendre le code, et la qualité était élevée grâce à l'utilisation des tests unitaires de boost, et il n'y avait presque pas de bugs.
Mais, dans votre cas, votre patron a déjà dit NON. Il ne sait probablement pas comment programmer, mais vous pourriez essayer de passer un accord, comme par exemple, utiliser seulement les bibliothèques boost qui sont dans TR1, et ne pas utiliser l'espace de noms boost, en utilisant l'espace de noms std::tr1 à la place. Ce sera de toute façon dans la prochaine norme C++. Et s'il dit non, vous pouvez simplement utiliser BCP, pour copier les en-têtes dans le répertoire de votre application, et les utiliser comme std::tr1 dans votre code, et lui dire que vous n'utilisez que l'implémentation boost tr1, et s'il n'aime pas, il peut acheter un tr1, ou encore mieux, lui demander de vous laisser développer toutes les classes en tr1, cela vous prendra beaucoup de temps, mais ce sera certainement très amusant :)
Vous avez appris une leçon, ne demandez pas, utilisez-le. Les gens ont habituellement peur de ce qu'ils ne connaissent pas.