int main() { fruit::NormalizedComponent<> normalizedComponent(getComponent()); fruit::Injector<XAnnot> injector(normalizedComponent, getComponent2()); injector.get<XAnnot>(); return 0; }
int main() { fruit::NormalizedComponent<fruit::Required<XAnnot>, Y> normalizedComponent(getComponent()); X x{}; fruit::Injector<XAnnot> injector(normalizedComponent, fruit::Component<XAnnot>(fruit::createComponent().bindInstance<XAnnot>(x))); injector.get<fruit::Annotated<Annotation, X*>>(); fruit::Injector<Y> injector2(normalizedComponent, getXComponent(x)); injector2.get<Y*>(); fruit::Injector<Y> injector3(normalizedComponent, getXComponent(x)); injector3.get<Y*>(); fruit::Injector<XAnnot> injector4(normalizedComponent, fruit::Component<XAnnot>(fruit::createComponent().bindInstance<XAnnot>(x))); injector4.get<fruit::Annotated<Annotation, X*>>(); return 0; }
int main() { fruit::NormalizedComponent<fruit::Required<fruit::Annotated<Annotation, X>>> normalizedComponent(getComponent()); fruit::Injector<> injector(normalizedComponent, fruit::Component<>(fruit::createComponent())); return 0; }
int main() { fruit::NormalizedComponent<> normalizedComponent(fruit::createComponent()); fruit::Injector<X> injector(std::move(normalizedComponent), fruit::createComponent()); return 0; }
int main() { fruit::NormalizedComponent<XAnnot> normalizedComponent(fruit::createComponent()); fruit::Injector<XAnnot> injector(normalizedComponent, getComponent()); return 0; }
int main() { fruit::NormalizedComponent<> normalizedComponent(fruit::createComponent()); fruit::Injector<X> injector(normalizedComponent, fruit::Component<>(fruit::createComponent())); return 0; }