| Version 1 (modified by , 14 years ago) ( diff ) |
|---|
Transferred from the old wiki, most of the issues below should be converted into tickets at some point.
Short-term TODO list
transformon maps should not require providing an inserter (http://article.gmane.org/gmane.comp.lib.boost.user/27842)- ADL barrier technique needs to be applied to all MPL sequences (http://thread.gmane.org/gmane.comp.lib.boost.devel/115368)
- GCC
vector<...>performance problem (http://thread.gmane.org/gmane.comp.lib.boost.devel/118413).
- GCC
- Compilation failure with GCC:
make_variant_overandvector(http://thread.gmane.org/gmane.comp.lib.boost.user/9741). vector_c,range_cet al. don't work with enumeration types:-
at<AssocSeq,Key,Default>form is not supported (contrary to the docs, http://thread.gmane.org/gmane.comp.lib.boost.user/9597). transformfails if passed two sequences of different sizes (http://thread.gmane.org/gmane.comp.lib.boost.user/10364).- warnings in
long_<MAX_LONG>etc. (http://article.gmane.org/gmane.comp.lib.boost.devel/121580) - weird interaction between set and map headers (http://article.gmane.org/gmane.comp.lib.boost.devel/132994/)
pop_back< range_c<int,0,10> >doesn't work, contrary to the book (http://article.gmane.org/gmane.comp.lib.boost.user/20386/).
apply + lambda + BOOST_MPL_LIMIT_METAFUNCTION_ARITY + 1issue (http://thread.gmane.org/gmane.comp.lib.boost.user/9699).- Implement lambda scoping as per http://thread.gmane.org/gmane.comp.lib.boost.devel/115924.
- Document
pair_view. contains<set,k>as a synonym forhas_key<set,k>.contains_c<s,N> === find_if< s, equal_to< _1, integral_c<s::value_type,N> > >wheresis a sequence of integral constants.- Double-check type_traits TR1 changes (http://article.gmane.org/gmane.comp.lib.boost.devel/117026/).
- Modify
empty_baseto handle non-default initialization (http://groups-beta.google.com/group/comp.lang.c++.moderated/msg/8f72194e7bc0afb4). - MSVC preprocessor fixes: replace
__LINE__with__COUNTER__, in<boost/mpl/assert.hpp>and possibly elsewhere (http://thread.gmane.org/gmane.comp.lib.boost.user/7922). for_eachvariant which allows to (efficiently) terminate the iteration (http://article.gmane.org/gmane.comp.lib.boost.user/13843)
Long-term TODO list
- Consider full laziness as per Vesa's posts (http://thread.gmane.org/gmane.comp.lib.boost.devel/112542).
- Improve diagnostics; in particular, introduce (optional) concept checking for all template parameters, e.g.:
template< typename Seq , typename T BOOST_MPL_AUX_PARAMS_CONCEPT_CHECK( is_forward_sequence<Seq>::value ) > struct find { // ... };
- Tools for composing inlined (run-time) algorithms:
- Integration with Alexander Nasonov's "overloads" library (http://thread.gmane.org/gmane.comp.lib.boost.devel/117532)
- Move (and document!) Eric Friedman's
lambda_matchfrom Sandbox to the main CVS. - Officially adopt one of the compile-time
rational/fixednumbers implementations.
Maintanance items
- Remove direct dependency on Boost.Config; in particular, replace all
<boost/config.hpp>includes with a corresponding<boost/mpl/aux_/config/<i>specific_condig_header.hpp</i>>
Miscellaneous Ideas
- Self-recursive lambdas:
if_< equal<N,int_c<0> > N , plus< bitand_<N, int_c<1> > , self< shift_right_c<N,3> > // self-recursion > > - "Round" lambda, see:
- make fold result a sequence, see:
Resolved issues
- DONE: Reportedly failing
equal<<i>vector</i>,<i>vector</i>::type>asserts (http://thread.gmane.org/gmane.comp.lib.boost.devel/118872). - DONE: Unclear
begin<set>issue (http://thread.gmane.org/gmane.comp.lib.boost.devel/116988).- Most likely related to the
setbug reported by Geoffrey Romer (http://article.gmane.org/gmane.comp.lib.boost.user/13896)
- Most likely related to the
- DONE: Document
for_each.
Note:
See TracWiki
for help on using the wiki.
