Bonjour à tous,
Si vous rêvez de participer à boost, c'est le moment!! Téléchargez et testez cette version, puis faites-nous part de bugs et problèmes que vous rencontrez.
Les fichiers sont ici.
Bonjour à tous,
Si vous rêvez de participer à boost, c'est le moment!! Téléchargez et testez cette version, puis faites-nous part de bugs et problèmes que vous rencontrez.
Les fichiers sont ici.
L'actu en temps réel !
Sortie de Boost 1.41.0 il y a 3 minutes 30.
Edit : Et ouais Goten! Chaque seconde compte![]()
http://www.boost.org/users/news/version_1_41_0
dispo.
edit : oups :p
Rho on sent les gars qui campent
Bon sinon résumé des nouveautés, dispo sur le lien donné juste au-dessus, mais pour que ça soit plus facile :
New Libraries
* Property Tree: A tree data structure especially suited to storing configuration data, from Marcin Kalicinski and Sebastian Redl.
Updated Libraries
* DateTime:
o The default format for time durations is now "%-%O:%M:%S%F" instead of "%-%H:%M:%S%F" that was used previously. In order to retain the old behavior, the format string has to be specified explicitly during the time IO facet construction (#1861).
o Gregorian dates now use 32-bit integer type internally on 64-bit platforms (#3308).
o See the full changelog for more detail.
* Filesystem:
o Bug fixes: (#3385). (#3528). (#3509).
* Iostreams: Some old unreleased developments. There are still several open issues that should be fixed in the next version.
o Add a grep filter (#1627).
o Support archives with multiple members (#1896).
o Make tee work with input streams (#791).
o Improved filesystem interoperability.
o Several warnings fixed or suppressed (including #1618, #1875, #2779).
o Various other fixes (including #1580, #1671).
* Math: Substantially improved the performance of the incomplete gamma function and it's inverse: this enhances the performance of the gamma, poisson, chi-squared and non-central chi-squared distributions.
* Multi-index Containers: Maintenance fixes. Consult the library release notes for further information.
* Proto:
o Clean up some MSVC warnings and errors in /Za (disable Microsoft extensions) mode.
o Fixes for c++0x mode on various compilers.
* Python: Boost.Python now supports Python 3 (Haoyu Bai's Google Summer of Code project, mentored by Stefan Seefeld).
* Regex: Added support for many Perl 5.10 syntax elements including named sub-expressions, branch resets and recursive regular expressions.
* Spirit: This is the initial official release of the new Spirit V2.1, a completely new library for parsing, lexing, and output generation. Note: this release is not backwards compatible with earlier versions. Known issue: qi::symbol::find will match a symbol that starts with the string you're searching for. This will be fixed in the next version.
* System:
o Bug fix: (#3559).
* Thread:
o Support for futures, promises and packaged tasks added
o boost::thread_specific_ptr is now faster when there are lots of thread-specific objects
o Some Boost.Thread facilities are now header-only
* Unordered: Major update:
o Replaced a lot of the macro based implementation with a cleaner template based implementation.
o Reduced memory use.
o Full details in the changelog.
* Utility: A "const" issue of value_initialized is fixed: Its data() member function and its conversion operator are replaced by overloads for const and non-const access (#2548).
* Wave: See the changelog for details.
* Xpressive:
o Fix infinite loop with some uses of \Q...\E quotemeta (#3586).
o Eliminate unreachable code warnings on MSVC
o Clean up some MSVC warnings and errors in /Za ("disable Microsoft extensions") mode.
o Fixes for c++0x mode on various compilers.
Build System
A bug preventing "fat" 32-bit + 64-bit builds on OSX has been fixed.
Boost.CMake moved
The cmake version of boost has moved; the Boost.CMmake release will be separate and will lag the main release slightly, but will also be capable of producing patch releases as necessary.
More information on the Boost CMake wiki page.
Updated Tools
* Quickbook 1.5: These changes require your document to use the [quickbook 1.5] tag:
o More intuitive syntax and variable lookup for template calls (#1174, #2034, #2036).
o Image attributes (#1157)
o Table Ids (#1194)
o Better handling of whitespace in section syntax. (#2712)
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Quelque chose qui apparaît comme mise à jour et est donc un peu perdu dans la liste des update mais qui peut se voir comme une vraie nouvelle bibliothèque est la présence de Spirit V2.1 (spéciale dédicace pour florian).
Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
Quelqu'un a-t-il testé la nouvelle bibliothèque property_tree ?
La syntaxe a l'air extrêmement alléchante et le parseur utilisé en interne (rapidxml) dépote.
Malheureusement je n'arrive même pas à la compiler (sous VS10 beta 2)
J'obtiens cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #include <boost/property_tree/ptree.hpp> int main() { boost::property_tree::ptree pt; return 0; }
qui se réfère àError 1 error C2440: 'specialization' : cannot convert from 'const std::string std::_Pair_base<_Ty1,_Ty2>::* ' to 'const std::basic_string<_Elem,_Traits,_Ax> std::pair<_Ty1,_Ty2>::* ' d:\program files\boost\boost_1_41_0\boost\property_tree\detail\ptree_implementation.hpp 30 1 TestPropertyTree
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 // ptree_implementaion.h template <class K, class D, class C> struct basic_ptree<K, D, C>::subs { struct by_name {}; // The actual child container. typedef multi_index_container<value_type, multi_index::indexed_by< multi_index::sequenced<>, multi_index::ordered_non_unique<multi_index::tag<by_name>, multi_index::member<value_type, const key_type, ici-> &value_type::first>, key_compare > > > base_container;
Je vais essayer.
Tiens ben justement je voulais en parler: sur la page de présentation (le lien a déjà été donné 2 fois mais je le remet pour les fainéants), ils disent que la 1.41 a été testé sur plein de compilateurs, mais pas sur VS10. Quelqu'un a testé?
Apparemment ils ont testé sur la beta1 :
Windows:
* Visual C++ 7.1, 8,0, 9,0 on XP.
* Visual C++ 9.0 on 32-bit Vista.
* Visual C++ 9.0 on AMD 64-bit Vista.
* Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0.
* Visual C++ 10.0 beta 1 with a patch for the program options lib.
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Ok, effectivement property_tree compile bien avec GCC 4.3 et GCC 4.5.
C'est donc probablement un bug de la beta 2.
Merci.
Pas de soucis chez moi. (gcc 4.3.4)
edit : comme toujours, un train de retard :')
Depuis le temps que PropertyTree devait être intégré
Pour ceux qui n'ont pas suivi, c'est une excellente librairie qui devait être intégrée il y a déjà plus de 3 ans, après un processus de test qui avait amené l'auteur à pondre son fameux RapidXML pour résoudre les premiers problèmes de performance. Puis l'auteur s'est désintéressé, la doc n'a pas été faite, le truc a été promis pour 1.35, puis 1.36, puis non, etc. Dommage, maintenant nous avons notre propre alternative, certainement moins bien que PropertyTree. Mais à l'époque où nous avons considéré l'utiliser, son avenir n'était pas clair du tout.
Comme quoi, si vous pensez contribuer à Boost, il faut aller jusqu'au bout!
Indirectement, la conséquence de l'activité un peu frénétique de Boost ces derniers temps est que les compilateurs qui ne sont pas supportés correctement (c'est à dire tous sauf VC++ et gcc, malgré la liste des compilateurs dits "supportés", qui se contentent de sous-ensembles plus ou moins minuscules) ont de moins en moins de chance de survie. Dommage pour Embarcadero... faudra vivre avec rien que Delphi, ou bien supporter Boost franchement nettement mieux.
Comeau est bien géré, c'est celui qui colle le plus à la norme![]()
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
boost 1.41 compile très bien avec GCC trunk (4.5) sous osx et linux. Cependant, j'ai des errors de compilation pour des programmes en -std=c++0x avec boost thread, boost variant, boost xpressive...
En regardant rapidos, il y a des problèmes dû aux nouveaux constructeurs templatés de std::pair et d'autres probs faisant intervenir des rvalue ref.
Je me suis rabattu sur GCC 4.4
L'arrivée de Spirit V2.1 est, comment dire, sympathique ?![]()
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Par où commencer pour découvrir boost ?
EDIT: je vais être plus précis, que propose boost comme conteneurs permettant de gérer efficacement de grands volumes ?
Y-a-t-il un B+Tree par exemple ?
Spirit 2.1 est vraiment très très bon !
Et ils ont enfin mis en place des doc digne de ce nom !
J'avais pas mal entendu parler de property_tree et j'attendais qu'il soit officialisé pour jetter un oeil plus en profondeur.
Maintenant que c'est (enfin fait) j'ai lu la doc et je me rends compte que ça résouds et simplifie pas mal de choses que j'avais commencé a faire dans mes projets O__O/
Donc une bonne chose.
Par contre pour Spirit 2.1, est-ce que vous pouvez résumer les améliorations? Je n'ai suivi que de très loin mais en parcourant rapidement la doc je ne vois pas bien la différence avec ce dont je me souviens avoir lu au début de l'année.
Partager