Merge 4db2458890afa3c5da8a2bfc679abd069880801a on remote branch

Change-Id: Ibd482557ce7745b537e9503204fdbd44d2ee82ae
tree: 61d841dc12f982b1afaf7956176f05df58a9d98c
  1. cmake-modules/
  2. configuration/
  3. examples/
  4. extras/
  5. include/
  6. src/
  7. test_package/
  8. tests/
  9. .clang-format
  10. .gitattributes
  11. .gitignore
  12. .travis.yml
  13. Android.bp
  14. appveyor.yml
  15. BUILD
  16. CMakeLists.txt
  17. conanfile.py
  18. CONTRIBUTING.md
  19. COPYING
  20. LICENSE
  21. METADATA
  22. MODULE_LICENSE_APACHE2
  23. OWNERS
  24. README.md
README.md

Build Status Build status Coverity Scan Status CII Best Practices

Fruit is a dependency injection framework for C++, loosely inspired by the Guice framework for Java. It uses C++ metaprogramming together with some C++11 features to detect most injection problems at compile-time. It allows to split the implementation code in "components" (aka modules) that can be assembled to form other components. From a component with no requirements it's then possible to create an injector, that provides an instance of the interfaces exposed by the component.

See the wiki for more information, including installation instructions, tutorials and reference documentation.