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 ;
160 bool isComplete()
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,
272 template <
typename PROD>
275 operator<<(std::ostream& os, Handle<PROD>
const&
h) {
276 os <<
h.product() <<
" " <<
h.provenance() <<
" " <<
h.id();
296 using no_tag = std::false_type;
297 using yes_tag = std::true_type;
320 template <
typename T>
325 template <
typename T>
334 template <
typename PROD>
341 template <
typename PROD>
347 this->getManyByType_(
TypeID(
typeid(
PROD)), bhv, mcc);
361 std::vector<Handle<PROD> >
products;
363 typename BasicHandleVec::iterator it = bhv.begin();
364 typename BasicHandleVec::iterator
end = bhv.end();
369 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)
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)
ESProducts< T, S > products(const T &i1, const S &i2)
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