@@ -9,27 +9,26 @@ author-name: Joaquín M López Muñoz
99
1010During Q4 2024, I've been working in the following areas:
1111
12- ### Boost.Mp11
12+ ### Boost.Unordered
1313
14- * Implemented [ ` mp_lambda ` ] ( https://www.boost.org/libs/mp11/doc/html/mp11.html#lambda )
15- (released in Boost 1.87.0), a metaprogramming utility inspired by the venerable
16- [ _ placeholder expressions_ from Boost.MPL] ( https://live.boost.org/libs/mpl/doc/refmanual/placeholder-expression.html ) .
17- ` mp_lambda ` allows us to generate complex types specified with a rather natural syntax
18- in terms of elementary input types indicated by
19- [ Boost.Mp11 _ placeholder types_ ] ( https://www.boost.org/libs/mp11/doc/html/mp11.html#1_9 ) .
20- For instance, ` std::pair<_1*, _2*> ` can be regarded as a type template with
21- two placeholder positions, and ` mp_lambda<std::pair<_1*, _2*>>::fn<int, char> ` is,
22- unsurprisingly enough, the type ` std::pair<int*, char*> ` . My original motivation
23- for writing this utility is to provide a Boost.Mp11 equivalent to Boost.MPL lambda
24- expressions that can pave the way for an eventual modernization of
25- Boost.Flyweight, which [ relies heavily] ( https://www.boost.org/libs/flyweight/doc/tutorial/configuration.html#factory_types )
26- on this functionality from Boost.MPL.
27- * Rewritten the implementation of ` mp_is_set `
28- ([ PR #100 ] ( https://github.com/boostorg/mp11/pull/100 ) , released in Boost 1.87.0) to
29- achieve some rather noticeable compile-time improvements.
14+ * Updated CI support ([ PR #293 ] ( https://github.com/boostorg/unordered/pull/293 ) ,
15+ [ PR #296 ] ( https://github.com/boostorg/unordered/pull/296 ) ,
16+ [ PR #297 ] ( https://github.com/boostorg/unordered/pull/297 ) ,
17+ [ PR #298 ] ( https://github.com/boostorg/unordered/pull/298 ) ).
18+ * Prepared a private document for Peter Dimov and Braden Gantsky discussing
19+ massively parallel scenarios where [ ParlayHash] ( https://github.com/cmuparlay/parlayhash )
20+ has better performance than ` boost::concurrent_flat_map ` . We haven't been able
21+ to progress much further than that in Q4 2024, mainly because of my lack
22+ of availablity for this specific task.
23+ * After the last [ major update in Boost 1.87.0] ( https://www.boost.org/libs/unordered/doc/html/unordered.html#changes_release_1_87_0_major_update ) ,
24+ the backlog for Boost.Unordered is basically cleared. This means that the library
25+ will likely enter into maintenance mode, except if new requests show up
26+ —do you have any?
3027
3128### Boost.PolyCollection
3229
30+ * Updated CI support ([ PR #22 ] ( https://github.com/boostorg/poly_collection/pull/22 ) ,
31+ [ PR #23 ] ( https://github.com/boostorg/poly_collection/pull/23 ) ).
3332* Added the new [ ` boost::variant_collection ` ] ( https://www.boost.org/doc/libs/develop/doc/html/poly_collection/reference.html#poly_collection.reference.header_boost_poly_collection_va0 )
3433container (to be released in Boost 1.88.0).
3534` boost::variant_collection_of<Ts...> ` is similar to
@@ -48,3 +47,23 @@ will print first the `int`s in the collection, then the `double`s, and finally
4847the ` std::string ` s. In exchange for this restriction, important
4948[ processing speedups] ( https://www.boost.org/doc/libs/develop/doc/html/poly_collection/performance.html#poly_collection.performance.processing_tests.results_for_boost_variant_collec )
5049can be obtained.
50+
51+ ### Boost.Mp11
52+
53+ * Implemented [ ` mp_lambda ` ] ( https://www.boost.org/libs/mp11/doc/html/mp11.html#lambda )
54+ (released in Boost 1.87.0), a metaprogramming utility inspired by the venerable
55+ [ _ placeholder expressions_ from Boost.MPL] ( https://live.boost.org/libs/mpl/doc/refmanual/placeholder-expression.html ) .
56+ ` mp_lambda ` allows us to generate complex types specified with a rather natural syntax
57+ in terms of elementary input types indicated by
58+ [ Boost.Mp11 _ placeholder types_ ] ( https://www.boost.org/libs/mp11/doc/html/mp11.html#1_9 ) .
59+ For instance, ` std::pair<_1*, _2*> ` can be regarded as a type template with
60+ two placeholder positions, and ` mp_lambda<std::pair<_1*, _2*>>::fn<int, char> ` is,
61+ unsurprisingly enough, the type ` std::pair<int*, char*> ` . My original motivation
62+ for writing this utility is to provide a Boost.Mp11 equivalent to Boost.MPL lambda
63+ expressions that can pave the way for an eventual modernization of
64+ Boost.Flyweight, which [ relies heavily] ( https://www.boost.org/libs/flyweight/doc/tutorial/configuration.html#factory_types )
65+ on this functionality from Boost.MPL.
66+ * Rewritten the implementation of ` mp_is_set `
67+ ([ PR #100 ] ( https://github.com/boostorg/mp11/pull/100 ) , released in Boost 1.87.0) to
68+ achieve some rather noticeable compile-time improvements.
69+
0 commit comments