1 #ifndef DataFormats_Provenance_ProductHolderIndexHelper_h
2 #define DataFormats_Provenance_ProductHolderIndexHelper_h
66 namespace productholderindexhelper {
115 char const* moduleLabel,
117 char const*
process = 0)
const;
122 unsigned int startInIndexAndNames,
141 char const* moduleLabel,
142 char const* instance)
const;
147 TypeID const& typeID)
const;
173 char const* moduleLabel,
174 char const* instance,
176 TypeID const& containedTypeID);
180 char const* moduleLabel,
181 char const* instance,
227 char const* moduleLabel,
228 char const* instance,
247 void print(std::ostream& os)
const;
Matches relatedIndexes(KindOfType kindOfType, TypeID const &typeID, char const *moduleLabel, char const *instance) const
TypeID getContainedType(TypeID const &typeID)
tuple start
Check for commandline option errors.
ProductHolderIndex index() const
std::vector< char > bigNamesContainer_
std::vector< TypeID > sortedTypeIDs_
std::vector< Range > ranges_
std::unique_ptr< std::set< std::string > > processItems_
TypeID getContainedTypeFromWrapper(TypeID const &wrappedtypeID, std::string const &className)
ProductHolderIndex index_
static PFTauRenderPlugin instance
ProductHolderIndexHelper const * productHolderIndexHelper_
ProductHolderIndex index() const
ProductHolderIndex index(KindOfType kindOfType, TypeID const &typeID, char const *moduleLabel, char const *instance, char const *process=0) const
std::vector< IndexAndNames > indexAndNames_
std::vector< Range > const & ranges() const
unsigned int startInIndexAndNames_
Range(unsigned int begin, unsigned int end)
void print(std::ostream &os) const
unsigned int ProductHolderIndex
unsigned int startInProcessNames_
std::vector< std::string > lookupProcessNames_
unsigned int numberOfMatches_
ProductHolderIndex nextIndexValue_
unsigned int beginElements_
unsigned int startInBigNamesContainer() const
unsigned int startInBigNamesContainer_
Matches(ProductHolderIndexHelper const *productHolderIndexHelper, unsigned int startInIndexAndNames, unsigned int numberOfMatches)
std::unique_ptr< std::set< Item > > items_
ProductHolderIndexHelper()
ProductHolderIndex nextIndexValue() const
bool operator<(Item const &right) const
unsigned int numberOfMatches() const
bool isFullyResolved(unsigned int i) const
std::string const & process() const
unsigned int indexToType(KindOfType kindOfType, TypeID const &typeID) const
unsigned int begin() const
ProductHolderIndex index(unsigned int i) const
unsigned int processIndex(char const *process) const
TypeID const & typeID() const
std::string const & moduleLabel() const
IndexAndNames(ProductHolderIndex index, unsigned int start, unsigned int startProcess)
ProductHolderIndex insert(TypeID const &typeID, char const *moduleLabel, char const *instance, char const *process, TypeID const &containedTypeID)
std::vector< char > const & processNames() const
ProductHolderIndex index_
std::vector< std::string > const & lookupProcessNames() const
std::string const & instance() const
void setIndex(ProductHolderIndex v)
unsigned int startInProcessNames() const
std::vector< IndexAndNames > const & indexAndNames() const
KindOfType kindOfType() const
std::vector< TypeID > const & sortedTypeIDs() const
std::vector< char > processNames_
Item(KindOfType kindOfType, TypeID const &typeID, std::string const &moduleLabel, std::string const &instance, std::string const &process, ProductHolderIndex index)
ProductHolderIndex insert(TypeID const &typeID, char const *moduleLabel, char const *instance, char const *process)
unsigned int beginElements() const
std::string className(const T &t)
unsigned int indexToIndexAndNames(KindOfType kindOfType, TypeID const &typeID, char const *moduleLabel, char const *instance, char const *process) const