Lines Matching refs:Comp
55 template <typename Comp>
57 using type = F(Comp, Args...);
64 template <typename Comp>
67 using Result = Comp;
80 template <typename Comp>
82 using Op1 = F1(Comp);
138 template <typename Comp, typename AnnotatedI, typename AnnotatedC>
140 … using Comp1 = ConsComp(typename Comp::RsSuperset, typename Comp::Ps, typename Comp::NonConstRsPs,
142 typename Comp::Deps,
144 … PushFront(typename Comp::InterfaceBindings, Pair<AnnotatedI, AnnotatedC>),
145 typename Comp::DeferredBindingFunctors);
164 … If(IsInSet(AnnotatedI, typename Comp::Ps), ConstructError(TypeAlreadyBoundErrorTag, AnnotatedI),
165 If(MapContainsKey(typename Comp::InterfaceBindings, AnnotatedI),
171 …template <typename Comp, typename AnnotatedI, typename AnnotatedC, typename NonConstBindingRequire…
174 …AddProvidedTypeIgnoringInterfaceBindings(Comp, AnnotatedI, NonConstBindingRequired, Vector<Annotat…
176 …AddProvidedTypeIgnoringInterfaceBindings(Comp, AnnotatedI, NonConstBindingRequired, Vector<Annotat…
209 template <typename Comp, typename AnnotatedI, typename AnnotatedC>
213 using R = AddRequirements(Comp, Vector<AnnotatedC>, Vector<AnnotatedC>);
264 template <typename Comp, typename AnnotatedSignature, typename Lambda>
267 using OptionalAnnotatedI = FindValueInMap(typename Comp::InterfaceBindings, AnnotatedC);
269 using Result = Comp;
285 template <typename Comp, typename AnnotatedSignature, typename Lambda>
292 using R = AddProvidedType(Comp, AnnotatedC, Bool<true>, AnnotatedCDeps,
316 template <typename Comp, typename AnnotatedSignature, typename Lambda>
318 …using Comp1 = AddDeferredBinding(Comp, ComponentFunctor(PostProcessRegisterProvider, AnnotatedSign…
325 template <typename Comp, typename Lambda>
327 using type = DeferredRegisterProviderWithAnnotations(Comp, FunctionSignature(Lambda), Lambda);
334 template <typename Comp, typename AnnotatedSignature, typename Lambda>
342 using R = AddRequirements(Comp, AnnotatedArgVector, NonConstRequirements);
385 template <typename Comp, typename Lambda>
387 … using type = RegisterMultibindingProviderWithAnnotations(Comp, FunctionSignature(Lambda), Lambda);
411 template <typename Comp, typename DecoratedSignature, typename Lambda,
418 template <typename Comp, typename DecoratedSignature, typename Lambda, typename NakedC,
421 …struct apply<Comp, DecoratedSignature, Lambda, Type<NakedC(NakedUserProvidedArgs...)>, Type<NakedC…
435 using R = AddProvidedType(Comp, AnnotatedFunctor, Bool<true>, FunctorDeps, FunctorNonConstDeps);
476 template <typename Comp, typename DecoratedSignature, typename Lambda>
502 Comp, DecoratedSignature, Lambda,
543 template <typename Comp, typename AnnotatedSignature>
547 using Result = Comp;
550 … Eval<FindValueInMap(typename Comp::InterfaceBindings, AnnotatedC)>>;
562 template <typename Comp, typename AnnotatedSignature>
572 using R = AddProvidedType(Comp, AnnotatedC, Bool<true>, CDeps, CNonConstDeps);
587 template <typename Comp, typename AnnotatedSignature>
589 …using Comp1 = AddDeferredBinding(Comp, ComponentFunctor(PostProcessRegisterConstructor, AnnotatedS…
595 template <typename Comp, typename AnnotatedC, typename C, typename IsNonConst>
597 using R = AddProvidedType(Comp, AnnotatedC, IsNonConst, Vector<>, Vector<>);
621 template <typename Comp, typename DecoratedSignature,
625 template <typename Comp, typename DecoratedSignature, typename NakedT, typename... NakedArgs>
626 struct apply<Comp, DecoratedSignature, Type<NakedT(NakedArgs...)>> {
628 using Op1 = RegisterFactory(Comp, DecoratedSignature, RequiredSignature);
633 using RealOp = RegisterFactory(Comp, DecoratedSignature, Type<decltype(provider)>);
640 using RealOp = RegisterFactory(Comp, DecoratedSignature, Type<decltype(provider)>);
651 template <typename Comp, typename DecoratedSignature,
655 template <typename Comp, typename DecoratedSignature, typename NakedT, typename... NakedArgs>
656 struct apply<Comp, DecoratedSignature, Type<std::unique_ptr<NakedT>(NakedArgs...)>> {
658 using Op1 = RegisterFactory(Comp, DecoratedSignature, RequiredSignature);
665 using RealOp = RegisterFactory(Comp, DecoratedSignature, Type<decltype(provider)>);
674 using RealOp = RegisterFactory(Comp, DecoratedSignature, Type<decltype(provider)>);
686 template <typename Comp, typename OtherComp>
688 using new_RsSuperset = SetUnion(typename OtherComp::RsSuperset, typename Comp::RsSuperset);
689 using new_Ps = SetUncheckedUnion(typename OtherComp::Ps, typename Comp::Ps);
690 … using new_NonConstRsPs = SetUnion(typename OtherComp::NonConstRsPs, typename Comp::NonConstRsPs);
692 using new_Deps = ConcatVectors(typename OtherComp::Deps, typename Comp::Deps);
695 using new_InterfaceBindings = typename Comp::InterfaceBindings;
698 using new_DeferredBindingFunctors = typename Comp::DeferredBindingFunctors;
712 using InterfacePs = VectorToSetUnchecked(GetMapKeys(typename Comp::InterfaceBindings));
713 using AllPs = SetUncheckedUnion(InterfacePs, typename Comp::Ps);
715 using CompConstPs = SetDifference(typename Comp::Ps, typename Comp::NonConstRsPs);
716 using CompRs = SetDifference(typename Comp::RsSuperset, typename Comp::Ps);
717 using CompNonConstRs = SetIntersection(CompRs, typename Comp::NonConstRsPs);
736 template <typename Comp, typename... OtherCompParams>
739 using type = InstallComponent(Comp, OtherComp);
744 template <typename Comp, typename... ComponentFunctions>
747 template <typename Comp>
748 struct apply<Comp> {
749 using type = ComponentFunctorIdentity(Comp);
752 …template <typename Comp, typename... ComponentParams, typename... ComponentFunctionArgs, typename.…
753 …struct apply<Comp, Type<fruit::ComponentFunction<fruit::Component<ComponentParams...>, ComponentFu…
759 Comp);
762 template <typename Comp, typename T, typename... ComponentFunctions>
763 struct apply<Comp, T, ComponentFunctions...> {
819 template <typename Comp>
827 struct apply<Comp<RsSupersetParam, PsParam, NonConstRsPsParam,
865 …template <typename Comp, typename TargetRequirements, typename TargetNonConstRequirements, typenam…
878 …template <typename Comp, typename TargetRequirements, typename TargetNonConstRequirements, typenam…
880 struct apply<Comp, TargetRequirements, TargetNonConstRequirements, None, unused1, unused2,
892 …template <typename Comp, typename TargetRequirements, typename TargetNonConstRequirements, typenam…
894 struct apply<Comp, TargetRequirements, TargetNonConstRequirements, AnnotatedC, unused1, unused2,
912 using R = Call(ComposeFunctors(F1, F2, F3), Comp);
926 using RealOp = Call(ComposeFunctors(F1, RealF2, RealF3), Comp);
942 using RealOp = Call(ComposeFunctors(F1, RealF2, RealF3), Comp);
956 …template <typename Comp, typename TargetRequirements, typename TargetNonConstRequirements, typenam…
958 struct apply<Comp, TargetRequirements, TargetNonConstRequirements, None, Bool<false>, Bool<false>,
976 using R = Call(ComposeFunctors(F1, F2, F3), Comp);
988 using RealOp = Call(ComposeFunctors(F1, RealF2, RealF3), Comp);
1002 using RealOp = Call(ComposeFunctors(F1, RealF2, RealF3), Comp);
1021 …template <typename Comp, typename TargetRequirements, typename TargetNonConstRequirements, typenam…
1023 struct apply<Comp, TargetRequirements, TargetNonConstRequirements, None, Bool<true>, unused,
1042 Call(ComposeFunctors(F1, F2), Comp));
1046 …template <typename Comp, typename TargetRequirements, typename TargetNonConstRequirements, typenam…
1048 …struct apply<Comp, TargetRequirements, TargetNonConstRequirements, None, Bool<true>, unused, Type<…
1064 Call(ComposeFunctors(F1, F2), Comp));
1070 …template <typename Comp, typename TargetRequirements, typename TargetNonConstRequirements, typenam…
1074 …template <typename Comp, typename TargetRequirements, typename TargetNonConstRequirements, typenam…
1084 using type = If(CHasInjectAnnotation, Call(F, Comp), ConstructNoBindingFoundError(AnnotatedC));
1087 …template <typename Comp, typename TargetRequirements, typename TargetNonConstRequirements, typenam…
1089 …struct apply<Comp, TargetRequirements, TargetNonConstRequirements, Type<std::function<NakedC(Naked…
1090 using type = AutoRegisterFactoryHelper(Comp, TargetRequirements, TargetNonConstRequirements,
1091 … FindInMap(typename Comp::InterfaceBindings, Type<NakedC>),
1096 …template <typename Comp, typename TargetRequirements, typename TargetNonConstRequirements, typenam…
1098 struct apply<Comp, TargetRequirements, TargetNonConstRequirements,
1100 using type = AutoRegisterFactoryHelper(Comp, TargetRequirements, TargetNonConstRequirements,
1101 … FindInMap(typename Comp::InterfaceBindings, Type<NakedC>),
1107 …template <typename Comp, typename TargetRequirements, typename TargetNonConstRequirements, typenam…
1109 struct apply<Comp, TargetRequirements, TargetNonConstRequirements,
1111 using type = AutoRegisterFactoryHelper(Comp, TargetRequirements, TargetNonConstRequirements,
1112 FindInMap(typename Comp::InterfaceBindings,
1119 …template <typename Comp, typename TargetRequirements, typename TargetNonConstRequirements, typenam…
1121 struct apply<Comp, TargetRequirements, TargetNonConstRequirements,
1123 using type = AutoRegisterFactoryHelper(Comp, TargetRequirements, TargetNonConstRequirements,
1124 FindInMap(typename Comp::InterfaceBindings,
1156 …template <typename Comp, typename TargetRequirements, typename TargetNonConstRequirements, typenam…
1160 using AnnotatedCImpl = FindInMap(typename Comp::InterfaceBindings, AnnotatedC);
1161 …using AutoRegisterResult = AutoRegister(Comp, TargetRequirements, TargetNonConstRequirements, Anno…
1164 IsInSet(AnnotatedC, typename Comp::Ps),
1165 If(And(NonConstBindingRequired, Not(IsInSet(AnnotatedC, typename Comp::NonConstRsPs))),
1167 ComponentFunctorIdentity(Comp)),
1171 ComponentFunctorIdentity(Comp),
1178 Comp),
1191 …template <typename Comp, typename TargetRequirements, typename TargetNonConstRequirements, typenam…
1204 using type = Call(FoldVector(TypesToProvide, Helper, ComponentFunctorIdentity), Comp);