Home | History | Annotate | Download | only in impl

Lines Matching refs:Lambda

231 template <typename AnnotatedSignature, typename Lambda, typename OptionalAnnotatedI>
234 template <typename AnnotatedSignature, typename Lambda, typename AnnotatedI>
237 template <typename AnnotatedSignature, typename Lambda, typename AnnotatedI>
238 struct PostProcessRegisterProviderHelper<AnnotatedSignature, Lambda, Type<AnnotatedI>> {
241 InjectorStorage::createComponentStorageEntryForCompressedProvider<AnnotatedSignature, Lambda, AnnotatedI>());
242 entries.push_back(InjectorStorage::createComponentStorageEntryForProvider<AnnotatedSignature, Lambda>());
250 template <typename AnnotatedSignature, typename Lambda>
251 struct PostProcessRegisterProviderHelper<AnnotatedSignature, Lambda, None> {
253 entries.push_back(InjectorStorage::createComponentStorageEntryForProvider<AnnotatedSignature, Lambda>());
264 template <typename Comp, typename AnnotatedSignature, typename Lambda>
271 using Helper = PostProcessRegisterProviderHelper<UnwrapType<AnnotatedSignature>, UnwrapType<Lambda>,
285 template <typename Comp, typename AnnotatedSignature, typename Lambda>
288 using SignatureFromLambda = FunctionSignature(Lambda);
316 template <typename Comp, typename AnnotatedSignature, typename Lambda>
318 using Comp1 = AddDeferredBinding(Comp, ComponentFunctor(PostProcessRegisterProvider, AnnotatedSignature, Lambda));
319 using type = PreProcessRegisterProvider(Comp1, AnnotatedSignature, Lambda);
325 template <typename Comp, typename Lambda>
327 using type = DeferredRegisterProviderWithAnnotations(Comp, FunctionSignature(Lambda), Lambda);
334 template <typename Comp, typename AnnotatedSignature, typename Lambda>
337 using SignatureFromLambda = FunctionSignature(Lambda);
348 UnwrapType<Lambda>>());
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(NakedAllArgs...)>,
447 return LambdaInvoker::invoke<UnwrapType<Lambda>, NakedAllArgs...>(
466 // work in the caller (we need to allow Lambda to be a function type).
467 using type = If(Not(IsSame(Type<NakedRequiredSignature>, FunctionSignature(Lambda))),
469 FunctionSignature(Lambda)),
476 template <typename Comp, typename DecoratedSignature, typename Lambda>
478 using LambdaReturnType = SignatureType(FunctionSignature(Lambda));
492 If(Not(Or(IsEmpty(Lambda), IsValidSignature(Lambda))),
493 ConstructError(LambdaWithCapturesErrorTag, Lambda),
494 If(Not(Or(IsTriviallyCopyable(Lambda), IsValidSignature(Lambda))),
495 ConstructError(NonTriviallyCopyableLambdaErrorTag, Lambda),
502 Comp, DecoratedSignature, Lambda,
1232 template <typename Lambda>
1233 struct apply<fruit::impl::RegisterProvider<Lambda>> {
1234 using type = ComponentFunctor(DeferredRegisterProvider, Type<Lambda>);
1237 template <typename AnnotatedSignature, typename Lambda>
1238 struct apply<fruit::impl::RegisterProvider<AnnotatedSignature, Lambda>> {
1239 using type = ComponentFunctor(DeferredRegisterProviderWithAnnotations, Type<AnnotatedSignature>, Type<Lambda>);
1257 template <typename Lambda>
1258 struct apply<fruit::impl::AddMultibindingProvider<Lambda>> {
1259 using type = ComponentFunctor(RegisterMultibindingProvider, Type<Lambda>);
1262 template <typename AnnotatedSignature, typename Lambda>
1263 struct apply<fruit::impl::AddMultibindingProvider<AnnotatedSignature, Lambda>> {
1264 using type = ComponentFunctor(RegisterMultibindingProviderWithAnnotations, Type<AnnotatedSignature>, Type<Lambda>);
1267 template <typename DecoratedSignature, typename Lambda>
1268 struct apply<fruit::impl::RegisterFactory<DecoratedSignature, Lambda>> {
1269 using type = ComponentFunctor(RegisterFactory, Type<DecoratedSignature>, Type<Lambda>);