Loki souffre peut-être une bonne bibliothèque de toucher à plusieurs domaines fonctionnels (modèle metaprogamming de soutien avec quelques applications spécifiques: des pointeurs intelligents, les singletons, la fonction des objets, de la portée des gardes etc.), alors que boost est une collection de plusieurs bibliothèques de manière exhaustive couvrant chaque domaine fonctionnel et bien plus encore très à l'écoute pour la portabilité (premier).
Lorsque 9 oiseaux sur 10 peuvent être tués avec la même pierre, beaucoup de gens simplement de commencer avec de stimuler et de combler les lacunes avec des bibliothèques tierces. Il est très difficile de rivaliser avec boost si vous chevauchement. Parce que vous n'aurez pas de chevauchement avec beaucoup de boost, les gens vont télécharger/installer boost de toute façon pour obtenir les autres fonctionnalités, de sorte que si vous avez des ongles un domaine que l'amplification est faible - et la différence est significative pour le projet, ils vous "contenter" de boost là aussi.
De plus, Alexandrescu fait des tentatives répétées pour obtenir Loki inclus dans boost, et quelques-uns des principaux stimuler les auteurs n'étaient pas à la coopérative. Mon avis personnel est qu'ils veulent le plus complet, mais beaucoup moins convivial MPL pour avoir plus de "part de marché": comme les auteurs de la bibliothèque et le papier des livres qui sont le seul décent de la documentation (en contraste avec la plupart des autres bibliothèques boost qui ont une excellente documentation en ligne), ils le font assez bien de cette.
Si quelqu'un est offensé par et n'est pas d'accord avec cette analyse, je suis tout ouïe.
Une autre question pratique extrêmement paramétrable code, c'est que dans les grands projets où les différents développeurs et les équipes de travailler de façon autonome, ils finissent souvent en utilisant subtilement les différentes instanciations du même modèle assez arbitrairement. Cela rend plus difficile le passage de valeurs entre ces sous-systèmes: le récepteur peut avoir besoin de:
- être paramétré (c'est à dire basé sur un modèle, et donc en ligne, qui présente la compilation des dépendances et le ralentissement de la construit à l'échelle de l'entreprise systèmes)
- fournir un minimum de couverture pour toutes les instanciations possibles (par exemple, la vérification des codes d'erreur et d'attendre/gestion des exceptions)
- de travail par le biais de certains de compilation à l'exécution à la main plus sur la base d'un résumé de la base de accesseur avec des implémentations pour chaque instanciation) qui compromet certains des avantages de performance de paramétrage
C'est possible, mais il faut un grand programmeur de naviguer sur le terrain.