- c54a093 Store pre-multiplied IDs in SemistaticGraphInternalNodeId to save one instruction per edge at injection time. by Marco Poletti · 10 years ago
- 80c7bb4 Some performance optimizations in SemistaticGraph and InjectorStorage, saving ~10% of injection time. by Marco Poletti · 10 years ago
- 9e0c6de Inline the non-templated InjectorStorage::lazyGetPtr into the templated one. by Marco Poletti · 10 years ago
- 05e9b4c Improve the script and CMake targets for generating dependency graphs; now png are generated and the nodes have the filename as label. by Marco Poletti · 10 years ago
- 605ded5 Add Latex sources of the images used in the Server page of the tutorial. by Marco Poletti · 10 years ago
- d08991f Rewrite the server example for Fruit 1.0. by Marco Poletti · 10 years ago
- 6f1a28b Disable the compilation of tests in release mode for now (will fail with unused-variable warnings that are errors due to -Werror). Also fix a quoting issue in the script. by Marco Poletti · 10 years ago
- ad0a8c7 Add -DNDEBUG to the cxx flags in postsubmit.sh, in release mode. by Marco Poletti · 10 years ago
- a9c0403 Extract postsubmit script (executed using Travis CI) from .travis.yml, some improvements. by Marco Poletti · 10 years ago
- d1741a9 Don't pass --show-leak-kinds=all to valgrind in tests. The version of Valgrind used by Travis CI doesn't support this. by Marco Poletti · 10 years ago
- 42c92ba Use GCC 4.9 in the Travis config for now. The PPA for Ubuntu 10.04 has 4.8.1 and 4.9.2, and there's a compile warning with 4.8.1 due to a GCC bug fixed in 4.8.2. by Marco Poletti · 10 years ago
- a8b9731 Update Travis CI config to install Valgrind. It's used to run tests. by Marco Poletti · 10 years ago
- ab49a96 Revert "Fix a Clang warning in type_info.h (class vs struct)." by Marco Poletti · 10 years ago
- 070e983 Change Travis CI config to use GCC from ubuntu-toolchain-r/ppa instead of ubuntu-toolchain-r/test. by Marco Poletti · 10 years ago
- 1530c17 Fix Travis CI configuration, it had the wrong path for the tests directory. by Marco Poletti · 10 years ago
- 598a0b3 Fix a Clang warning in type_info.h (class vs struct). by Marco Poletti · 10 years ago
- 33aed1b Change Travis CI config to use GCC 4.8. by Marco Poletti · 10 years ago
- 5ed889a Changes to the way the component diagrams are generated (now generating png instead of svg), and minor changes to the Latex files that they are generated from. by Marco Poletti · 10 years ago
- 0843ee4 Add .travis.yml file with the Travis CI configuration. by Marco Poletti · 10 years ago
- 4250ef6 Include cstdlib in demangle_type_name.cpp. This fixes a compilation problem on OS X, see https://github.com/google/fruit/issues/3 . by Marco Poletti · 10 years ago
- 5d85307 Add latex sources for the diagrams used in the 'Reference documentation' page of the website. by Marco Poletti · 10 years ago
- b91b406 Fix compile errors with Clang that were not reported by GCC. by Marco Poletti · 10 years ago
- 91c10d2 Add a test for SemistaticGraph with an incomplete graph. by Marco Poletti · 10 years ago
- da1bc0c Remove a specialization of AutoRegisterFactoryHelper that is never used. by Marco Poletti · 10 years ago
- 753adb8 Add more tests for factory autobindings. by Marco Poletti · 10 years ago
- cffe663 Add test for FixedSizeAllocator's move constructor. by Marco Poletti · 10 years ago
- eddc549 Remove some unused (private) getPtr() methods of InjectorStorage. by Marco Poletti · 10 years ago
- 1a97c80 Remove SemistaticGraph::size(), it's never used. by Marco Poletti · 10 years ago
- 3d3b717 Add comments for methods/function that are covered by tests, but that don't show up as covered in the lcov report. by Marco Poletti · 10 years ago
- 9bb46a3 Remove {Normalized,}BindingData::operator<(), they're no longer used. by Marco Poletti · 10 years ago
- 0b4683e Improve test_coverage.sh: avoid filename collisions, pick up tests in subdirectories. by Marco Poletti · 10 years ago
- 0c56617 Fix compile error in hybrid_vector that only occurred in release mode. by Marco Poletti · 10 years ago
- 53f867e Remove unused constructor of NormalizedComponentStorage, inline the now-redundant init() method. by Marco Poletti · 10 years ago
- db902a6 Increase unit test coverage for SemistaticGraph, now also testing const methods and const_node_iterator. by Marco Poletti · 10 years ago
- 9b9f9b8 Add unit tests for type_info. by Marco Poletti · 10 years ago
- cbd708f Fix typo in comment in lambda_invoker.h. by Marco Poletti · 10 years ago
- 853205c Add unit tests for LambdaInvoker. by Marco Poletti · 10 years ago
- 7e3052d Add unit tests for HybridVector. by Marco Poletti · 10 years ago
- f106504 InjectorStorage: in the constructor from a Component, create a shallow copy instead of moving the SemistaticGraph. by Marco Poletti · 10 years ago
- 36e63ef Use the static_assert from injection_errors instead of writing the check inline. by Marco Poletti · 10 years ago
- 5c354a6 No longer consider fruit::Requirements<...> as one of the exposed types when determining what binding compressions to perform. Pass the list of exposed types as an std::vector instead of an std::initializer_list, allowing getTypeIdsForList to work. by Marco Poletti · 10 years ago
- c067655 Move some implementations of inline functions/methods to .defn.h files from .h files. by Marco Poletti · 10 years ago
- 4a2ac2e Add unit tests for FixedSizeAllocator. by Marco Poletti · 10 years ago
- 3d432f0 Add unit tests for FixedSizeVector. by Marco Poletti · 10 years ago
- e53b79e Add an addInstanceMultibindings() method to PartialComponent, allowing to add multibindings for a type whose number is only known at runtime (e.g. a list of plugins to load dynamically). by Marco Poletti · 10 years ago
- 9a65db6 Make the Op~=RealOp checks in component_functors.defn.h debug-only. by Marco Poletti · 10 years ago
- b438a1e AddProvidedType,AddRequirements now take a set of deps instead of taking a list of types and converting those to a set of deps themselves. by Marco Poletti · 10 years ago
- 7363e1c Remove dummy definition of ProcessRegisterConstructor, it's no longer needed due to deferred bindings. by Marco Poletti · 10 years ago
- b9f19bf Turn the component functors into standard metafunctions (the result struct changes from Op::apply<Comp> to Op::apply<Comp>::type). Use meta::Apply instead of ApplyFunctor. by Marco Poletti · 10 years ago
- 3ced78a Fix expected error message in the type_already_bound2 test. The reported error changed due to the now-deferred registerConstructor() binding. by Marco Poletti · 10 years ago
- d8943a8 Implement deferred binding processing for constructor/provider bindings so that binding compression is now used even if the corresponding bind<I,C>() was after the registerProvider()/registerConstructor() call. by Marco Poletti · 10 years ago
- f6335ae Rename AddToVector->PushFront, swap the order of the two arguments. by Marco Poletti · 10 years ago
- 956cb5b Merge RegisterConstructorAsPointerFactoryHelper into RegisterConstructorAsPointerFactory and add consistency check. by Marco Poletti · 10 years ago
- ca50c3a Major refactoring of Component->Component functors. Now each functor takes the Component afterwards and separately from other parameters. E.g. F<A, B>::apply<Comp> instead of F<Comp, A, B>. by Marco Poletti · 10 years ago
- 2edd866 Rename Binding->InterfaceBinding in the Component implementation, as Binding is used with a more general sense in e.g. BindingData, InjectorStorage. Also some other related renames. by Marco Poletti · 10 years ago
- 43af2da generate_benchmark: take the num_loops as a command line argument instead of stdin. by Marco Poletti · 10 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
- 145223b Make the 'allocator' field of InjectorStoorage private, passing it as parameter to functions that need it instead. by Marco Poletti · 10 years ago
- 91d998d Remove unnecessary #include. by Marco Poletti · 10 years ago
- 215fc19 Use FixedSizeVector instead of std::vector in Semistatic{Map,Graph}. by Marco Poletti · 10 years ago
- 79f65cb Implement more methods of std::vector in FixedSizeVector. by Marco Poletti · 10 years ago
- 4ac469a Move FixedSize{Vector,Allocator} from storage/ to data_structures/. by Marco Poletti · 10 years ago
- 979c940 Add a FixedSizeVector class and use it in FixedSizeAllocator to keep track of allocations. Avoids 1 branch per injection for types that are not trivially destructible and not externally allocated. by Marco Poletti · 10 years ago
- a85fc03 Keep track of what bindings need an allocation, to reduce the space estimate for the fixed-size allocator. by Marco Poletti · 10 years ago
- 1b2a208 Refactor the allocator construction, making the interface more high-level and adding more checks when FRUIT_EXTRA_DEBUG is enabled. by Marco Poletti · 10 years ago
- b6ef0ad Improve the debug output, remove obsolete debug prints. by Marco Poletti · 10 years ago
- bb7442f Fix bug in binding compression in a corner case where the binding compression I->C must be undone when C is in the late bindings together with a non-I type depending on C. by Marco Poletti · 10 years ago
- 0c35fac Rename fruit::impl::meta::List to fruit::impl::meta::Vector. by Marco Poletti · 10 years ago
- 6070c7c Move fruit/impl/metaprogramming->fruit/impl/meta, and move all metaprogramming facilities into the fruit::impl::meta namespace. by Marco Poletti · 10 years ago
- 9754d5a Inline GetAssistedArg into the caller, rename GetAssistedArgHelper->GetAssistedArg. by Marco Poletti · 10 years ago
- 978c9f3 Replace InvokeAssistedFactory with a stateful lambda. by Marco Poletti · 10 years ago
- 1b51db8 Minor changes. by Marco Poletti · 10 years ago
- 4d39c58 Move the functors to manipulate PartialComponent objects from component.defn.h to a new component_functors.defn.h file. by Marco Poletti · 10 years ago
- ed4d62b Assisted injection is just a convenience feature, it can be implemented using registerProvider(). Do so, and move the assisted injection code out of InjectorStorage into component.defn.h. by Marco Poletti · 10 years ago
- a82a444 Minor cleanups. by Marco Poletti · 10 years ago
- 0bfbe05 Reorganize the code, notably move BindingDataNodeIter to InjectorStorage. by Marco Poletti · 10 years ago
- 2a1a581 Factor out a Vector class from ComponentStorage. by Marco Poletti · 10 years ago
- 433257c Remove the unused SemistaticGraph::getOrAllocateNodeId() method. 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
- 6c13003 Rename createObjectVector->createMultibindingVector for clarity. by Marco Poletti · 10 years ago
- 7eab28b When a lambda used as provider returns a pointer to a derived class with virtual methods, let the compiler emit a warning if there's no virtual destructor. by Marco Poletti · 10 years ago
- 207597b Minor code simplifications in InjectorStorage. by Marco Poletti · 10 years ago
- 1cb7de4 Fix a bug that caused an assertion error when using addMultibinding(). by Marco Poletti · 10 years ago
- 9c80dbd Add test to ensure that objects in the injector are destroyed once (and only once). by Marco Poletti · 10 years ago
- 9a93cda Rename BindAssistedFactoryHelper->InvokeAssistedFactory, remove BindAssistedFactory. by Marco Poletti · 10 years ago
- b829323 Rename singleton->object throughout, plus other minor comment fixes. 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
- 5c913af Split out the allocator part of InjectorStorage into a separate FixedSizeAllocator class. by Marco Poletti · 10 years ago
- 1e3b61a Fix a bug in HasReverseBinding that produced a compile error in some cases. by Marco Poletti · 10 years ago
- d36df0f Bump version to 1.0.1. by Marco Poletti · 10 years ago
- 017b0a4 Change the compile-time benchmark to only run in Release mode. by Marco Poletti · 10 years ago
- eef01ad Make the new/delete benchmark more real-world by defining many classes instead of just allocating the single class many times. by Marco Poletti · 10 years ago
- 4a0072c Change the run-time benchmark to only do 1 NormalizedComponent creation per 100 injection loops (was 1 per 50 before). by Marco Poletti · 10 years ago
- e879261 Update the new/delete benchmark to use classes with virtual destructors. by Marco Poletti · 10 years ago
- 542ce42 Update documentation of unsafeGet() due to binding compression. by Marco Poletti · 10 years ago
- 94dd821 Change the signature of the 'create' operation of various bindings to only return the created object, and to set any deleter itself if needed instead of returning it. Saves ~20% of injection time. by Marco Poletti · 10 years ago