CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Classes | Functions
edm::eventsetup::heterocontainer Namespace Reference

Classes

class  HCTypeTag
 
struct  type_from_itemtype
 

Functions

template<class Key , class ItemType , class Storage , class IdTag >
ItemType * find (const Storage &iStorage, const IdTag &iIdTag)
 
template<class Key , class ItemType , class Storage >
ItemType * find (const Storage &iStorage)
 
template<class Key , class ItemType , class Storage , class IdTag >
bool insert (Storage &iStorage, ItemType *iItem, const IdTag &iIdTag)
 
template<class Key , class ItemType , class Storage >
bool insert (Storage &iStorage, ItemType *iItem)
 
template<class Type , class Key , class IdTag >
Key makeKey (const IdTag &iIdTag)
 
template<class Type , class Key >
Key makeKey ()
 

Function Documentation

template<class Key , class ItemType , class Storage , class IdTag >
ItemType* edm::eventsetup::heterocontainer::find ( const Storage iStorage,
const IdTag &  iIdTag 
)
inline

Definition at line 62 of file HCMethods.h.

References makeKey().

62  {
63  //The cast should be safe since the Key tells us the type
64  return static_cast<ItemType*>(iStorage.find(
65  makeKey<typename type_from_itemtype<Key,
66  ItemType>::Type,Key>(iIdTag)));
67  }
Key makeKey(const IdTag &iIdTag)
Definition: HCMethods.h:28
template<class Key , class ItemType , class Storage >
ItemType* edm::eventsetup::heterocontainer::find ( const Storage iStorage)
inline

Definition at line 70 of file HCMethods.h.

References makeKey().

70  {
71  //The cast should be safe since the Key tells us the type
72  return static_cast<ItemType*>( iStorage.find(
73  makeKey<typename type_from_itemtype<Key,
74  ItemType>::Type,Key>()));
75  }
Key makeKey(const IdTag &iIdTag)
Definition: HCMethods.h:28
template<class Key , class ItemType , class Storage , class IdTag >
bool edm::eventsetup::heterocontainer::insert ( Storage iStorage,
ItemType *  iItem,
const IdTag &  iIdTag 
)
inline
template<class Key , class ItemType , class Storage >
bool edm::eventsetup::heterocontainer::insert ( Storage iStorage,
ItemType *  iItem 
)
inline

Definition at line 55 of file HCMethods.h.

References makeKey().

55  {
56  return iStorage.insert(makeKey<ItemType,
57  Key>() , iItem);
58  }
Key makeKey(const IdTag &iIdTag)
Definition: HCMethods.h:28
template<class Type , class Key , class IdTag >
Key edm::eventsetup::heterocontainer::makeKey ( const IdTag &  iIdTag)
inline

Definition at line 28 of file HCMethods.h.

Referenced by find(), insert(), and edm::eventsetup::EventSetupProvider::insert().

28  {
29  HCTypeTag typeTag = HCTypeTag::make<Type>();
30  return Key(typeTag, iIdTag);
31  }
template<class Type , class Key >
Key edm::eventsetup::heterocontainer::makeKey ( )
inline

Definition at line 34 of file HCMethods.h.

34  {
35  HCTypeTag typeTag = HCTypeTag::make<Type>();
36  return Key(typeTag);
37  }