Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:12:01

0001 #ifndef Framework_DataKeyTags_h
0002 #define Framework_DataKeyTags_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     Framework
0006 // Class  :     DataKeyTags
0007 //
0008 /**\class DataKeyTags DataKeyTags.h FWCore/Framework/interface/DataKeyTags.h
0009 
0010  Description: <one line class summary>
0011 
0012  Usage:
0013     <usage>
0014 
0015 */
0016 //
0017 // Author:      Chris Jones
0018 // Created:     Thu Mar 31 14:13:07 EST 2005
0019 //
0020 
0021 // system include files
0022 
0023 // user include files
0024 #include "FWCore/Framework/interface/HCTypeTag.h"
0025 
0026 // forward declarations
0027 namespace edm {
0028   namespace eventsetup {
0029 
0030     typedef heterocontainer::HCTypeTag TypeTag;
0031 
0032     class SimpleStringTag {
0033     public:
0034       SimpleStringTag(const char* iString) : tag_(iString) {}
0035       SimpleStringTag() : tag_("") {}
0036       bool operator==(const SimpleStringTag& iRHS) const;
0037       bool operator<(const SimpleStringTag& iRHS) const;
0038 
0039       const char* value() const { return tag_; }
0040 
0041     private:
0042       const char* tag_;
0043     };
0044 
0045     class NameTag : public SimpleStringTag {
0046     public:
0047       NameTag(const char* iUsage) : SimpleStringTag(iUsage) {}
0048       NameTag() : SimpleStringTag() {}
0049     };
0050 
0051     typedef NameTag IdTags;
0052   }  // namespace eventsetup
0053 }  // namespace edm
0054 #endif