1 #ifndef FWCore_Framework_PrincipalGetAdapter_h 2 #define FWCore_Framework_PrincipalGetAdapter_h 87 #include <type_traits> 114 class ModuleCallingContext;
118 namespace principal_get_adapter_detail {
147 consumer_ = iConsumer;
151 resourcesAcquirer_ = iSra;
158 size_t numberOfProductsConsumed()
const ;
162 template <
typename PROD>
164 checkIfComplete()
const;
168 template <
typename PROD>
173 processHistory()
const;
181 getPutTokenIndex(
TypeID const& type,
std::string const& productInstanceName)
const;
188 getBranchDescription(
unsigned int iPutTokenIndex)
const;
189 ProductID const& getProductID(
unsigned int iPutTokenIndex)
const;
191 std::vector<edm::ProductResolverIndex>
const&
192 putTokenIndexToProductResolverIndex()
const ;
195 std::vector<bool>
const& recordProvenanceList()
const;
208 getByLabel_(
TypeID const& tid,
219 getMatchingSequenceByLabel_(
TypeID const& typeID,
224 getMatchingSequenceByLabel_(
TypeID const& typeID,
231 getManyByType_(
TypeID const& tid,
252 throwUnregisteredPutException(
TypeID const& type,
273 template <
typename PROD>
276 operator<<(std::ostream& os, Handle<PROD>
const&
h) {
277 os <<
h.product() <<
" " <<
h.provenance() <<
" " <<
h.id();
297 using no_tag = std::false_type;
298 using yes_tag = std::true_type;
321 template <
typename T>
326 template <
typename T>
335 template <
typename PROD>
342 template <
typename PROD>
348 this->getManyByType_(
TypeID(
typeid(
PROD)), bhv, mcc);
362 std::vector<Handle<PROD> >
products;
364 typename BasicHandleVec::iterator it = bhv.begin();
365 typename BasicHandleVec::iterator
end = bhv.end();
370 products.push_back(result);
SharedResourcesAcquirer * resourcesAcquirer_
void setConsumer(EDConsumerBase const *iConsumer)
void operator()(T *p) const
Principal const & principal() const
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
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)
void throwOnPutOfWrongType(std::type_info const &wrongType, TypeID const &rightType)
void getManyByType(std::vector< Handle< PROD > > &results, ModuleCallingContext const *mcc) const
void convert_handle(BasicHandle &&bh, Handle< T > &result)
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
def branchType(schema, name)
std::vector< BasicHandle > BasicHandleVec