commit | 1ac6414683c397c5f9b8e83b6299aad0c5fcacfa | [log] [tgz] |
---|---|---|
author | Marco Poletti <poletti.marco@gmail.com> | Sun Jul 02 09:33:02 2017 +0100 |
committer | Marco Poletti <poletti.marco@gmail.com> | Sun Jul 02 10:04:36 2017 +0100 |
tree | 4d93cfcaae196765e5d9f28f1ea8911627ee7cac | |
parent | 5f439ab89a6b499ffeec9f0d02daff18a3b8e50f [diff] |
Deprecate Component's copy constructor. With the new-style install() syntax Components can be lightweight, so when a copy is desired they can just be re-created instead. This should be a very rare use case anyway. Removing this copy constructor will allow us (in the next major version of Fruit) to remove the code to copy components and lazy component arguments, reducing the object size for code using Fruit.
Fruit is a dependency injection framework for C++, loosely inspired by the Guice framework for Java. It uses C++ metaprogramming together with some new 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.