Lines Matching refs:Comp
527 struct Comp {
568 using type = Comp<RsSupersetParam, PsParam, NonConstRsPsParam,
577 template <typename Comp>
579 using type = typename Comp::Deps;
584 template <typename Comp>
586 using type = typename Comp::Ps;
591 template <typename Comp>
593 using type = typename Comp::RsSuperset;
598 template <typename Comp>
600 using type = typename Comp::NonConstRsPs;
879 template <typename Comp, typename V>
884 … using type = If(And(IsInSet(T, typename Comp::Ps), Not(IsInSet(T, typename Comp::NonConstRsPs))),
896 template <typename Comp, typename NewRequirementsVector, typename NewNonConstRequirementsVector>
898 …ConsComp(FoldVector(NewRequirementsVector, AddToSet, typename Comp::RsSuperset), typename Comp::Ps,
899 … FoldVector(NewNonConstRequirementsVector, AddToSet, typename Comp::NonConstRsPs),
901 typename Comp::Deps,
903 … typename Comp::InterfaceBindings, typename Comp::DeferredBindingFunctors);
904 …using type = PropagateError(CheckTypesNotProvidedAsConst(Comp, NewNonConstRequirementsVector), Com…
910 …template <typename Comp, typename C, typename IsNonConst, typename CRequirements, typename CNonCon…
913 …FoldVector(CRequirements, AddToSet, typename Comp::RsSuperset), AddToSetUnchecked(typename Comp::P…
914 …If(IsNonConst, AddToSetUnchecked(FoldVector(CNonConstRequirements, AddToSet, typename Comp::NonCon…
915 FoldVector(CNonConstRequirements, AddToSet, typename Comp::NonConstRsPs)),
917 PushFront(typename Comp::Deps, Pair<C, CRequirements>),
919 typename Comp::InterfaceBindings, typename Comp::DeferredBindingFunctors);
920 using type = If(IsInSet(C, typename Comp::Ps), ConstructError(TypeAlreadyBoundErrorTag, C),
921 … PropagateError(CheckTypesNotProvidedAsConst(Comp, CNonConstRequirements), Comp1));
930 …template <typename Comp, typename C, typename IsNonConst, typename CRequirements, typename CNonCon…
932 using type = If(Not(IsNone(FindInMap(typename Comp::InterfaceBindings, C))),
934 AddProvidedTypeIgnoringInterfaceBindings(Comp, C, IsNonConst, CRequirements,
940 template <typename Comp, typename DeferredBinding>
942 … using new_DeferredBindingFunctors = Cons<DeferredBinding, typename Comp::DeferredBindingFunctors>;
943 using type = ConsComp(typename Comp::RsSuperset, typename Comp::Ps, typename Comp::NonConstRsPs,
945 typename Comp::Deps,
947 typename Comp::InterfaceBindings, new_DeferredBindingFunctors);
952 template <typename Comp>
954 using Loop = ProofForestFindLoop(typename Comp::Deps);
961 template <typename Comp, typename EntailedComp>
963 using CompRs = SetDifference(typename Comp::RsSuperset, typename Comp::Ps);
966 using CommonPs = SetIntersection(typename Comp::Ps, typename EntailedComp::Ps);
968 If(Not(IsContained(typename EntailedComp::Ps, typename Comp::Ps)),
970 … SetToVector(SetDifference(typename EntailedComp::Ps, typename Comp::Ps))),
971 …If(Not(IsVectorContained(typename EntailedComp::InterfaceBindings, typename Comp::InterfaceBinding…
974 … typename Comp::InterfaceBindings))),
978 If(Not(IsContained(SetIntersection(CommonRs, typename Comp::NonConstRsPs),
982 … typename Comp::NonConstRsPs),
985 typename Comp::NonConstRsPs)),
989 typename Comp::NonConstRsPs))),