MPL11
 All Classes Namespaces Files Typedefs Macros Groups Pages
Todo List
Class boost::mpl11::from_just< m >
Consider being SFINAE friendly.
Class boost::mpl11::iterable_detail::plus_one
Get rid of this.
Class boost::mpl11::zip_with< f, lists >
  • Consider implementing a zip_longest with the obvious semantics.
  • zip_with is some kind of generalization of fmap with several Functors at a time. Is this interesting?
Group Field
Test the default implementations.
Group Foldable
  • Consider removing unpack or moving it elsewhere, maybe Functional.
Group Functional
  • Consider moving into out of this module. Maybe it would fit better with other utilities manipulating template specializations.
  • Try generalizing rsect and lsect. Not sure it can be done, but here's some brain food:
    rsectn<0, f, x1, ..., xn>::apply<> == f<x1, ..., xn>
    rsectn<1, f, x2, ..., xn>::apply<x1> == f<x1, x2, ..., xn>
    rsectn<2, f, x3, ..., xn>::apply<x1, x2> == f<x1, x2, x3, ..., xn>
Group Integer
Write unit tests for the provided instances.
Group Iterable
  • Find a way to know whether an Iterable is finite and whether it has efficient xx or yy operations.
  • Perform bounds-checking in at when we have a way of knowing whether an Iterable is finite.
  • Improve the implementation of Foldable, Comparable, Orderable, drop_while, drop and default methods.
Group List
  • Find out how to minimize the number of instantiations. In the current implementation, the whole list has to be re-indexed each time we modify it.
  • Use rewrite rules for repeat and take.
  • If the iterable is infinite, snoc and init could be id.
Group Maybe
  • Instantiate Comparable and Orderable forĀ Maybe. This might require Maybe to become a parametric datatype. Can we handle this?
Group Rational
  • Write unit tests for the provided instances.
  • Consider checking for overflows and reducing the fraction after doing computations.
  • Consider instantiating IntegralDomain.
Class tests
Remove the check for GCC when it supports generalized constexpr.