1 #ifndef UtilAlgos_StoreManagerTrait_h
2 #define UtilAlgos_StoreManagerTrait_h
15 #include "boost/static_assert.hpp"
16 #include "boost/type_traits.hpp"
20 template<
typename Collection>
21 struct IteratorToObjectConverter {
30 struct IteratorToObjectConverter<edm::OwnVector<T> > {
39 struct IteratorToObjectConverter<edm::
RefVector<C> > {
58 struct IteratorToObjectConverter<edm::
PtrVector<T> > {
92 typename ClonePolicy = IteratorToObjectConverter<OutputCollection> >
93 struct CollectionStoreManager {
103 for(
I i = begin;
i !=
end; ++
i ) {
116 template<
typename OutputCollection>
119 produces<OutputCollection>();
123 template<
typename OutputCollection>
124 struct StoreManagerTrait {
std::vector< ProtoJet > OutputCollection
static value_type convert(const I &i)
Collection::value_type value_type
edm::OrphanHandle< collection > put(edm::Event &evt)
void cloneAndStore(const I &begin, const I &end, edm::Event &)
CollectionStoreManager(const edm::Handle< C > &h)
static value_type convert(const I &i)
ObjectSelectorBase< OutputCollection > base
static value_type convert(const I &i)
ObjectSelectorBase(const edm::ParameterSet &cfg)
OutputCollection collection
CollectionStoreManager< OutputCollection > type
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
const std::complex< double > I
Container::value_type value_type
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
std::auto_ptr< collection > selected_
std::auto_ptr< T > value_type
static value_type convert(const I &i)
edm::RefVector< Container > RefVector
static value_type convert(const I &i)
edm::RefToBase< T > value_type