- f289510 Add configure-time checks on compiler and STL features, and use the results of those in macros in Fruit code, instead of checking for specific compilers and/or versions. by Marco Poletti · 9 years ago
- d83763e Rename fruit::impl::Vector to HybridVector, use it for ComponentStorage.compressed_bindings instead for std::vector. by Marco Poletti · 10 years ago
- 2a1a581 Factor out a Vector class from ComponentStorage. by Marco Poletti · 10 years ago
- 9491d65 Switch to the lowercase_with_underscores style for variables and fields (before some used the lowerCamel case instead). by Marco Poletti · 10 years ago
- 85aea00 Rename typeRegistry->bindings, typeRegistryForMultibindings->multibindings throughout. by Marco Poletti · 10 years ago
- eedc2a5 Remove the multibindingDeps vector from ComponentStorage. Each MultibindingData stores the deps anyway. by Marco Poletti · 10 years ago
- 93372ce Inline trivial methods of ComponentStorage into component.defn.h. by Marco Poletti · 10 years ago
- 224bd9c First part of the refactoring of ComponentStorage, mostly moving logic into InjectorStorage. by Marco Poletti · 10 years ago
- 4ac3c8e Factor common code in individual bindings in component_storage.defn.h into a new constructObject() method in InjectorStorage. Now the allocator can be private. by Marco Poletti · 10 years ago
- 58e2ec2 First implementation of binding compression; reduces injection time by ~35% when using virtual destructors. by Marco Poletti · 10 years ago
- 757c78f Move code from semistatic_map.cpp to semistatic_map.templates.h. Add a IN_FRUIT_CPP_FILE to ensure that .templates.h files are only included by Fruit cpp files. by Marco Poletti · 10 years ago
- 7ad3862 Re-organize the files in include/fruit/impl into subdirectories. by Marco Poletti · 10 years ago
- 7f35b65 Re-organize the source code. Merge component.utils.h into component_impl.h. Now using .defn files for template/inline definitions. by Marco Poletti · 10 years ago
- bd971eb Rename BindingDataForMultibinding->MultibindingData, BindingDataVectorForMultibinding->NormalizedMultibindingData. by Marco Poletti · 10 years ago
- a49c9ad Store dependencies in BindingData, in preparation for the next optimization. by Marco Poletti · 10 years ago
- 2d81d25 Remove the BindingData-specific optimization from SemistaticMap (even though this decreases performance) in preparation for later optimizations. by Marco Poletti · 10 years ago
- 5bac985 Drop support for functions as providers (only lambdas are supported now). De-templatize SemistaticMap, store typeInfo + is_created + create/singleton in 2 machine words. Gives a ~10% reduction in injection time. by Marco Poletti · 10 years ago
- 943c382 Restructure/Rewrite the metaprogramming code. Now using None as an element in lists to speed up removals. by Marco Poletti · 10 years ago
- a25a1e7 Use exit(1) instead of abort() for runtime errors. by Marco Poletti · 10 years ago
- ac0fe96 Fix compilation warnings/issues with GCC 4.9.1. by Marco Poletti · 10 years ago
- 1fd2649 getMultibindings now returns a vector instead of a set. by Marco Poletti · 10 years ago
- d9d60db Reduce the preprocessed size of fruit.h by moving big includes to .cpp files. by Marco Poletti · 10 years ago
- 42a02a1 Add the notion of NormalizedComponent, add a two-argument constructor of Injector that takes a NormalizedComponent and a Component. by Marco Poletti · 10 years ago
- 9341b25 Remove ComponentStorage::check() and InjectorStorage::check(), replace with assertions or if statements as appropriate. by Marco Poletti · 10 years ago
- 130624a Fix performance bug that caused a copy in install() even when a temporary was passed. by Marco Poletti · 10 years ago
- b35bcb4 Change the representation of a BindingData, now occupies 2 pointers instead of 4. by Marco Poletti · 10 years ago
- d238be8 Use (unsorted) vectors in ComponentStorage instead of hash tables. by Marco Poletti · 10 years ago
- fdbfcbe Split InjectorStorage out of ComponentStorage. by Marco Poletti · 10 years ago
- 494514c Depend on the sparsehash lib to speed up hashing by ~25%. This dependency is optional and can be disabled with -DFRUIT_NO_SPARSE_HASH. by Marco Poletti · 10 years ago
- b5cadcf Add move constructors and store the ComponentStorage in a unique_ptr, to avoid copies and also keep the move cost low. by Marco Poletti · 10 years ago
- 09fa583 Optimize allocations by allocating a single chunk of memory in the injector. by Marco Poletti · 10 years ago
- 6449dae Make RTTI optional. by Marco Poletti · 10 years ago
- a88e1d1 Remove support for injection scopes. by Marco Poletti · 10 years ago
- ec857eb ComponentStorage: cache the set of multibindings (if not empty). by Marco Poletti · 10 years ago
- 6917d7e Fix a bug in ComponentStorage where multibindings were deleted after the bindings that they depended on. by Marco Poletti · 10 years ago
- 5d84929 Implement factory bindings. by Marco Poletti · 10 years ago
- be1d443 Eager injection no longer injects unreachable types. by Marco Poletti · 10 years ago
- 6c83bde Implement eager injection. by Marco Poletti · 10 years ago
- 65d8eb9 Implement multibindings. by Marco Poletti · 10 years ago
- 5c48390 Fix injection scopes: loop over all parents to determine the types to un-register in the child injector. Also remove useless comparisons of destroy operation. by Marco Poletti · 10 years ago
- d61b579 Implement injection scopes, plus some other changes: by Marco Poletti · 10 years ago
- c0db95e Rename Module->Component, UnsafeModule->ComponentStorage. by Marco Poletti · 10 years ago[Renamed (82%) from src/unsafe_module.cpp]
- cf798fa Initial commit. by Marco Poletti · 10 years ago