Fix memory leak in registerFactory(), introduced in commit b35bcb4.
Don't run bench.sh during "make benchmark", expect the user to run it separately afterwards.
Remove ComponentStorage::check() and InjectorStorage::check(), replace with assertions or if statements as appropriate.
Split NormalizedComponentStorage out of InjectorStorage.
Prepare support for NormalizedComponent: now InjectorStorage is constructed from a NormalizedComponentStorage instead of a NormalizedComponentStorage::BindingVectors.
Remove unused function.
Add the notion of NormalizedComponent, add a two-argument constructor of Injector that takes a NormalizedComponent and a Component.
Re-increase the benchmark size to ~400 types.
Improve benchmark, now measuring several metrics. Remove bench.sh.
Turn NormalizedComponentStorage::install() into a static method.
Add test with empty component, injector.
Make valgrind error messages during tests more verbose.
Avoid a copy when constructing an InjectorStorage from a NormalizedComponentStorage&&.
Change the functors that manipulate components to take a ComponentStorage& and return void instead of taking and returning a PartialComponent. This helps the compiler inline these (so reduces the number of calls => better performance, and the number of symbols => smaller executable).
Inline trivial methods. As in the last commit, this is both for performance and for executable size.
Forbid moving Injectors.
Remove unused error struct.
Use lambdas instead of inline functions for comparators; this helps the compiler inline them.