![]() |
A very central notion in Loki is that of typelists, that is, lists of types rather than lists of values. A major superset of this functionality is available in Boost through the MPL, in which MPL Sequences of types and algorithms that work on them play the major role. It should come as no surprise then that this library uses the MPL heavily.
Where one in Loki would write TYPELIST_n(type0,...,typen),
in MPL this would be mpl::vector<type0,...,typen>.
This library hides most actual usage of the MPL under its hood, so you'll rarely
have to touch it yourself, unless you're modifying the library code itself.
Whereas concrete factories in Loki were either-or in terms of the functionality
they offered (i.e. operator new
vs. stored prototypes), Boost.Factory allows these to be mixed when building
the concrete hierarchy. The constructor argument binding and dynamic function
functionality is also not found in Loki.