Ich mag boost deswegen schon nicht, weil da extrem viel seltsamer Code in header-files rumschwirrt. Das macht es nahezu unmöglich, den eigenen Code mit einem vernünftigem (damit meine ich hohem

) Warnungs-Niveau zu kompilieren, weil die Warnungen aus dem eigenen Code in der Masse der Warnungen aus den Boost-Headern untergehen.
Dazu kommt, dass manche von diesen Warnungen
sehr einfach vermieden werden könnten, da regen mich unnötige Semikoli (oder Semikolons oder was weiß ich wie der Plural ist) auf, die erzeugen mit so gut wie allen Compilern Warnungen im pedantic-mode.
Und ich hab einige Ports, die aufgrund von boost nicht mit clang++36 kompilieren.
Aus diesen Gründen bin ich mir Insgesamt unschlüssig, ob boost wirklich immer den hohen Qualitätsstandards erfüllt, die man den Bibliotheken nachsagt.
Außerdem ist es ein Riesenblock, für kleine Werkzeuge halte ich es für massiv übertrieben, wenn es sich aber um ein größeres, plattformunabhängiges Projekt handelt, dann würde ich mir es eher nochmal überlegen. Insgesamt stehe ich dem aber eher skeptisch gegenüber.
Qt ist zwar eine super UI-Bibliothek, aber erstens auch gigantisch und zweitens geht es nicht ganz so schön mit modernem C++ zusammen.
Und gerade String-Handling ist in Qt zwar sehr bequem, aber auch ziemlich langsam, da ein QString sein Encoding kennt usw.
Bezüglich TMP möchte ich noch hinzufügen, dass das zwar sehr laufzeiteffizienten Code erzeugen kann, aber auch unglaublich speicherineffizienten.
Templates sind nunmal komplette Kopien und erzeugen ziemlich schnell Bloat. Ich hatte damit zwar noch nie Probleme bei den wenigen Projekten, bei denen ich boost eingesetzt habe, allerdings habe ich da auch nie nachgemessen. Aber ich stehe TMP insgesamt recht kritisch gegenüber, weil weder Code noch Fehlermeldungen verständlich sind.