Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
.github/workflows/ | H | 25-Apr-2025 | - | 346 | 330 | |
cmake-modules/ | H | 25-Apr-2025 | - | 25 | 21 | |
configuration/ | H | 25-Apr-2025 | - | 600 | 458 | |
examples/ | H | 25-Apr-2025 | - | 2,254 | 977 | |
extras/ | H | 25-Apr-2025 | - | 8,273 | 6,483 | |
include/fruit/ | H | 25-Apr-2025 | - | 15,552 | 9,302 | |
src/ | H | 25-Apr-2025 | - | 1,070 | 710 | |
test_package/ | H | 25-Apr-2025 | - | 56 | 39 | |
tests/ | H | 25-Apr-2025 | - | 15,913 | 13,021 | |
.clang-format | H A D | 25-Apr-2025 | 151 | 7 | 6 | |
.gitattributes | H A D | 25-Apr-2025 | 31 | 2 | 1 | |
.gitignore | H A D | 25-Apr-2025 | 331 | 22 | 21 | |
Android.bp | H A D | 25-Apr-2025 | 2 KiB | 70 | 63 | |
BUILD | H A D | 25-Apr-2025 | 619 | 28 | 24 | |
CMakeLists.txt | H A D | 25-Apr-2025 | 8.1 KiB | 169 | 134 | |
CONTRIBUTING.md | H A D | 25-Apr-2025 | 10.1 KiB | 226 | 164 | |
COPYING | H A D | 25-Apr-2025 | 11.1 KiB | 203 | 169 | |
LICENSE | H A D | 25-Apr-2025 | 11.1 KiB | 203 | 169 | |
METADATA | H A D | 25-Apr-2025 | 1 KiB | 21 | 19 | |
MODULE_LICENSE_APACHE2 | HD | 25-Apr-2025 | 0 | |||
OWNERS | H A D | 25-Apr-2025 | 45 | 1 | 1 | |
README.md | H A D | 25-Apr-2025 | 1.5 KiB | 13 | 9 | |
conanfile.py | H A D | 25-Apr-2025 | 2.9 KiB | 74 | 61 |
README.md
1 2[](https://github.com/google/fruit/actions/workflows/test-on-linux.yml) 3[](https://github.com/google/fruit/actions/workflows/test-on-windows.yml) 4[](https://github.com/google/fruit/actions/workflows/test-on-osx.yml) 5[](https://scan.coverity.com/projects/google-fruit) 6[](https://bestpractices.coreinfrastructure.org/projects/1040) 7 8Fruit is a [dependency injection](http://en.wikipedia.org/wiki/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. 9It allows to split the implementation code in "components" (aka modules) that can be assembled to form other components. 10From a component with no requirements it's then possible to create an injector, that provides an instance of the interfaces exposed by the component. 11 12See the [wiki](https://github.com/google/fruit/wiki) for more information, including installation instructions, tutorials and reference documentation. 13