1 #ifndef DataFormats_Provenance_ProductResolverIndexHelper_h
2 #define DataFormats_Provenance_ProductResolverIndexHelper_h
65 #include <unordered_map>
71 namespace productholderindexhelper {
119 char const* moduleLabel,
121 char const*
process =
nullptr)
const;
124 std::unordered_multimap<std::string, std::tuple<TypeID const*, const char*, ProductResolverIndex>>;
130 unsigned int startInIndexAndNames,
152 char const* moduleLabel,
153 char const* instance)
const;
181 char const* moduleLabel,
182 char const* instance,
184 TypeID const& containedTypeID,
185 std::vector<TypeWithDict>* baseTypesOfContainedType);
188 char const* moduleLabel,
189 char const* instance,
235 char const* moduleLabel,
236 char const* instance,
255 void print(std::ostream& os)
const;
ProductResolverIndex index(unsigned int i) const
std::string const & process() const
char const * processName(unsigned int i) const
ProductResolverIndexHelper()
char const * moduleLabel(unsigned int i) const
TypeID getContainedType(TypeID const &typeID)
ProductResolverIndex nextIndexValue() const
void setIndex(ProductResolverIndex v)
unsigned int indexToType(KindOfType kindOfType, TypeID const &typeID) const
std::vector< TypeID > sortedTypeIDs_
unsigned int startInBigNamesContainer_
unsigned int ProductResolverIndex
std::vector< TypeID > const & sortedTypeIDs() const
ProductResolverIndex index_
Item(KindOfType kindOfType, TypeID const &typeID, std::string const &moduleLabel, std::string const &instance, std::string const &process, ProductResolverIndex index)
TypeID getContainedTypeFromWrapper(TypeID const &wrappedtypeID, std::string const &className)
static PFTauRenderPlugin instance
std::vector< char > processNames_
ProductResolverIndex index_
ModulesToIndiciesMap indiciesForModulesInProcess(const std::string &iProcessName) const
ProductResolverIndex insert(TypeID const &typeID, char const *moduleLabel, char const *instance, char const *process, TypeID const &containedTypeID, std::vector< TypeWithDict > *baseTypesOfContainedType)
bool isFullyResolved(unsigned int i) const
std::unordered_multimap< std::string, std::tuple< TypeID const *, const char *, ProductResolverIndex >> ModulesToIndiciesMap
std::vector< Range > const & ranges() const
unsigned int startInProcessNames() const
unsigned int startInBigNamesContainer() const
unsigned int processIndex(char const *process) const
unsigned int startInIndexAndNames_
KindOfType kindOfType() const
TypeID const & typeID() const
Range(unsigned int begin, unsigned int end)
Matches(ProductResolverIndexHelper const *productResolverIndexHelper, unsigned int startInIndexAndNames, unsigned int numberOfMatches)
edm::propagate_const< std::unique_ptr< std::set< std::string > > > processItems_
ProductResolverIndex index() const
unsigned int startInProcessNames_
std::string const & moduleLabel() const
std::vector< IndexAndNames > const & indexAndNames() const
char const * productInstanceName(unsigned int i) const
unsigned int numberOfMatches() const
Matches relatedIndexes(KindOfType kindOfType, TypeID const &typeID, char const *moduleLabel, char const *instance) const
unsigned int indexToIndexAndNames(KindOfType kindOfType, TypeID const &typeID, char const *moduleLabel, char const *instance, char const *process) const
std::vector< Range > ranges_
void print(std::ostream &os) const
ProductResolverIndex index() const
ProductResolverIndex nextIndexValue_
std::vector< IndexAndNames > indexAndNames_
std::vector< std::string > lookupProcessNames_
unsigned int numberOfMatches_
ProductResolverIndexHelper const * productResolverIndexHelper_
unsigned int begin() const
std::vector< char > const & processNames() const
unsigned int beginElements_
bool operator<(Item const &right) const
IndexAndNames(ProductResolverIndex index, unsigned int start, unsigned int startProcess)
std::string const & instance() const
ProductResolverIndex index(KindOfType kindOfType, TypeID const &typeID, char const *moduleLabel, char const *instance, char const *process=nullptr) const
edm::propagate_const< std::unique_ptr< std::set< Item > > > items_
std::vector< std::string > const & lookupProcessNames() const
std::string className(const T &t)
unsigned int beginElements() const
std::vector< char > bigNamesContainer_