1 #ifndef FWCore_Framework_PrincipalGetAdapter_h 2 #define FWCore_Framework_PrincipalGetAdapter_h 87 #include <type_traits> 113 class ModuleCallingContext;
117 namespace principal_get_adapter_detail {
119 TypeID const& productType,
124 TypeID const& productType,
151 size_t numberOfProductsConsumed()
const;
155 template <
typename PROD>
156 bool checkIfComplete()
const;
160 template <
typename PROD>
175 BranchDescription const& getBranchDescription(
unsigned int iPutTokenIndex)
const;
176 ProductID const& getProductID(
unsigned int iPutTokenIndex)
const;
179 std::vector<edm::ProductResolverIndex>
const& putTokenIndexToProductResolverIndex()
const;
182 std::vector<bool>
const& recordProvenanceList()
const;
229 void throwUnregisteredPutException(
TypeID const& type,
std::string const& productInstanceLabel)
const;
250 template <
typename PROD>
251 inline std::ostream& operator<<(std::ostream& os, Handle<PROD>
const&
h) {
252 os <<
h.product() <<
" " <<
h.provenance() <<
" " <<
h.id();
271 using no_tag = std::false_type;
272 using yes_tag = std::true_type;
276 template <
typename T,
void (T::*)()>
278 template <
typename T>
280 template <
typename T>
283 template <
typename T>
297 template <
typename T>
302 template <
typename T>
311 template <
typename PROD>
316 template <
typename PROD>
320 this->getManyByType_(
TypeID(
typeid(
PROD)), bhv, mcc);
334 std::vector<Handle<PROD> >
products;
336 typename BasicHandleVec::iterator it = bhv.begin();
337 typename BasicHandleVec::iterator
end = bhv.end();
340 products.push_back(convert_handle<PROD>(
std::move(*it)));
SharedResourcesAcquirer * resourcesAcquirer_
void setConsumer(EDConsumerBase const *iConsumer)
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
void operator()(T *p) const
Principal const & principal() const
static PFTauRenderPlugin instance
void throwOnPutOfUninitializedToken(char const *principalType, std::type_info const &productType)
EDConsumerBase const * consumer_
void setSharedResourcesAcquirer(SharedResourcesAcquirer *iSra)
ESProducts< std::remove_reference_t< TArgs >... > products(TArgs &&...args)
static void throwAmbiguousException(const char *where, TypeID const &productType, std::string const &label, std::string const &instance, std::string const &process)
void setProducer(ProducerBase const *iProd)
yes_tag has_postinsert_helper(postinsert_function< T,&T::post_insert > *p)
EDConsumerBase const * getConsumer() const
SharedResourcesAcquirer * getSharedResourcesAcquirer() const
void throwOnPutOfWrongType(std::type_info const &wrongType, TypeID const &rightType)
void getManyByType(std::vector< Handle< PROD > > &results, ModuleCallingContext const *mcc) const
ModuleDescription const & moduleDescription() const
Principal const & principal_
void operator()(T *) const
void throwOnPrematureRead(char const *principalType, TypeID const &productType, std::string const &moduleLabel, std::string const &productInstanceName)
ModuleDescription const & md_
void throwOnPutOfNullProduct(char const *principalType, TypeID const &productType, std::string const &productInstanceName)
bool checkIfComplete() const
std::vector< BasicHandle > BasicHandleVec