// Does our component have an accepting interface sufficing the right criteria (e.g interfaceName)?
if(Count<FirstInterface>::MeetsCriteria(interfaceCriteria)==1)// We use the FirstInterface only (of each recursion level), thus the count can be 0 or 1
{
// cast always succeeds since we know via the template arguments of the component which InterfaceAcceptors its base classes are.
InterfaceAcceptor<FirstInterface>*acceptIF=this;
// Make the connection to the other component by this interface and add the number of successes.
// helper class for SuperElastixComponent::CountAcceptingInterfaces and SuperElastixComponent::CountProvidingInterfaces to loop over a set of interfaces
//std::cout << "providerComponent does not have required " << InterfaceName < InterfaceT >::Get() << std::endl;
return0;
}
// connect value interfaces
this->Set(providerInterface);// due to the input argument being uniquely defined in the multiple inheritance tree, all versions of Set() are accessible at component level
// helper class for SuperElastixComponent::CountAcceptingInterfaces and SuperElastixComponent::CountProvidingInterfaces to loop over a set of interfaces