• [^] # Re: Une si bonne API

    Posté par . En réponse à la dépêche Sortie de Qt 4.6. Évalué à 2.


    * pour utiliser gettext avec ce magnifique système ? Les défenseurs de C++ ont toujours tendance à considérer ce point comme négligeable et à l’occulter ; en pratique, il ne l’est absolument pas (négligeable)


    On peut utiliser boost format (ou d'autres, loki safeformat, fastformat, ...) qui s'intègrent très bien avec gettext tout en étant typesafe.

    * un équivalent de tee, qui sorte ta chaine à la fois sur cout et sur un fichier de log ?
    Sur ce point on a une bien plus grande souplesse avec les flux de la STL qui sépare bien la partie formatage de la partie lecture/ecriture à travers les streambuf. Ce qui permet de faire des choses comme :
    * écrire dans plusieurs fichiers simultanément
    * fournir un pourcentage de progression au fur et à mesure de la lecture d'un fichier
    * lire depuis/vers un buffer,
    * lire depuis/vers une socket
    * ...

    Il suffit pour cela de fournir son propre streambuf. On peut pour cela s'aider de boost::iostreams qui simplifie bien les choses.

    Pour simplement faire un tee, on peut aussi faire comme en C

    On peut trouver, et à raison, que la STL est un peu complexe à ce niveau, mais on a une souplesse indéniable.

    Étienne