''Transferred from the old wiki, most of the issues below should be converted into tickets at some point.'' == Short-term TODO list == * {{{transform}}} on 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://article.gmane.org/gmane.comp.lib.boost.devel/115679/) * GCC {{{vector<...>}}} performance problem (http://search.gmane.org/?query=mpl+begin+vector+performance+problem&group=gmane.comp.lib.boost.devel&sort=relevance). * Compilation failure with GCC: {{{make_variant_over}}} and {{{vector}}} (http://thread.gmane.org/gmane.comp.lib.boost.user/9741). * {{{vector_c}}}, {{{range_c}}} et al. don't work with enumeration types: * http://article.gmane.org/gmane.comp.lib.boost.devel/116940 * http://thread.gmane.org/gmane.comp.lib.boost.user/9219 * {{{at}}} form is not supported (contrary to the docs, http://thread.gmane.org/gmane.comp.lib.boost.user/9597). * {{{transform}}} fails if passed two sequences of different sizes (http://thread.gmane.org/gmane.comp.lib.boost.user/10364). * warnings in {{{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 >}}} doesn't work, contrary to the book (http://article.gmane.org/gmane.comp.lib.boost.user/20386/). * {{{apply + lambda + BOOST_MPL_LIMIT_METAFUNCTION_ARITY + 1}}} issue (http://thread.gmane.org/gmane.comp.lib.boost.user/9699). * Implement lambda scoping as per http://article.gmane.org/gmane.comp.lib.boost.devel/116000/. * Document {{{pair_view}}}. * {{{contains}}} as a synonym for {{{has_key}}}. * {{{contains_c === find_if< s, equal_to< _1, integral_c > >}}} where {{{s}}} is a sequence of integral constants. * Double-check type_traits TR1 changes (http://article.gmane.org/gmane.comp.lib.boost.devel/117026/). * Modify {{{empty_base}}} to handle non-default initialization (http://groups-beta.google.com/group/comp.lang.c++.moderated/msg/8f72194e7bc0afb4). * MSVC preprocessor fixes: replace {{{__LINE__}}} with {{{__COUNTER__}}}, in {{{}}} and possibly elsewhere (http://thread.gmane.org/gmane.comp.lib.boost.user/7922). * {{{for_each}}} variant 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://search.gmane.org/?query=+Lazy+Metaprogramming+Library&group=gmane.comp.lib.boost.devel&sort=relevance). * 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::value ) > struct find { // ... }; }}} * Tools for composing inlined (run-time) algorithms: * http://lists.boost.org/MailArchives/boost/msg55203.php * http://groups-beta.google.com/group/comp.lang.c++.moderated/msg/1319e53af9955115?dmode=source * Integration with Alexander Nasonov's "overloads" library (http://article.gmane.org/gmane.comp.lib.boost.devel/116517, http://article.gmane.org/gmane.comp.lib.boost.devel/117532/) * Move (and document!) Eric Friedman's {{{lambda_match}}} from Sandbox to the main CVS. * Officially adopt one of the compile-time {{{rational}}} / {{{fixed}}} numbers implementations. == Maintanance items == * Remove direct dependency on Boost.Config; in particular, replace all {{{}}} includes with a corresponding {{{specific_condig_header.hpp>}}} == Miscellaneous Ideas == * Self-recursive lambdas: {{{ if_< equal > N , plus< bitand_ > , self< shift_right_c > // self-recursion > > }}} * "Round" lambda, see: * http://thread.gmane.org/gmane.comp.lib.boost.devel/77267 * http://thread.gmane.org/gmane.comp.lib.boost.devel/77359 * http://thread.gmane.org/gmane.comp.lib.boost.devel/77360 * http://thread.gmane.org/gmane.comp.lib.boost.devel/77361 * And also http://thread.gmane.org/gmane.comp.lib.boost.devel/117077 * make fold result a sequence, see: * http://article.gmane.org/gmane.comp.lib.boost.devel/119087