Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
configuration/ | 03-May-2024 | - | 406 | 260 | ||
examples/ | 03-May-2024 | - | 2,234 | 960 | ||
extras/ | 03-May-2024 | - | 7,193 | 5,441 | ||
include/fruit/ | 03-May-2024 | - | 15,497 | 9,257 | ||
src/ | 03-May-2024 | - | 1,081 | 715 | ||
test_package/ | 03-May-2024 | - | 56 | 39 | ||
tests/ | 03-May-2024 | - | 15,596 | 12,777 | ||
.clang-format | D | 03-May-2024 | 151 | 7 | 6 | |
.gitignore | D | 03-May-2024 | 246 | 19 | 18 | |
.travis.yml | D | 03-May-2024 | 12.4 KiB | 254 | 249 | |
Android.bp | D | 03-May-2024 | 1.3 KiB | 39 | 34 | |
BUILD | D | 03-May-2024 | 502 | 24 | 20 | |
CMakeLists.txt | D | 03-May-2024 | 6.4 KiB | 128 | 100 | |
CONTRIBUTING.md | D | 03-May-2024 | 11.3 KiB | 251 | 187 | |
COPYING | D | 03-May-2024 | 11.1 KiB | 203 | 169 | |
LICENSE | D | 03-May-2024 | 11.1 KiB | 203 | 169 | |
METADATA | D | 03-May-2024 | 839 | 20 | 19 | |
MODULE_LICENSE_APACHE2 | D | 03-May-2024 | 0 | |||
NOTICE | D | 03-May-2024 | 11.1 KiB | 203 | 169 | |
OWNERS | D | 03-May-2024 | 15 | 2 | 1 | |
README.md | D | 03-May-2024 | 1.3 KiB | 12 | 8 | |
appveyor.yml | D | 03-May-2024 | 3.4 KiB | 63 | 61 | |
conanfile.py | D | 03-May-2024 | 3.1 KiB | 75 | 62 |
README.md
1 2[![Build Status](https://img.shields.io/travis/google/fruit/master.svg?label=Linux/OSX%20build/tests)](https://travis-ci.org/google/fruit) 3[![Build status](https://img.shields.io/appveyor/ci/poletti-marco/fruit/master.svg?label=Windows%20build/tests)](https://ci.appveyor.com/project/poletti-marco/fruit) 4[![Coverity Scan Status](https://img.shields.io/coverity/scan/8486.svg?label=Coverity%20scan)](https://scan.coverity.com/projects/google-fruit) 5[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/1040/badge)](https://bestpractices.coreinfrastructure.org/projects/1040) 6 7Fruit 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. 8It allows to split the implementation code in "components" (aka modules) that can be assembled to form other components. 9From a component with no requirements it's then possible to create an injector, that provides an instance of the interfaces exposed by the component. 10 11See the [wiki](https://github.com/google/fruit/wiki) for more information, including installation instructions, tutorials and reference documentation. 12