CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Types | Static Private Member Functions | Private Attributes
TagName Class Reference

#include <TagName.h>

Public Member Functions

std::string operator() () const
 
bool operator< (const TagName &n) const
 
bool sameName (const TagName &tn) const
 
const std::string & str () const
 
 TagName ()
 
 TagName (const std::string &name)
 

Private Types

typedef unsigned int count_type
 
typedef std::map< std::string,
unsigned int > 
Registry
 

Static Private Member Functions

static count_type count ()
 
static Registry::iterator regName (const std::string &s)
 

Private Attributes

count_type id_
 
Registry::iterator name_
 

Detailed Description

Definition at line 9 of file TagName.h.

Member Typedef Documentation

typedef unsigned int TagName::count_type
private

Definition at line 35 of file TagName.h.

typedef std::map<std::string,unsigned int> TagName::Registry
private

Definition at line 34 of file TagName.h.

Constructor & Destructor Documentation

TagName::TagName ( )
inline

Definition at line 13 of file TagName.h.

Referenced by ProducePlots.ProducePlots::plotAllAndLast40Runs(), PopulateDB.PopulateDB::run(), and DiscoverProcessedRuns.DiscoverProcessedRuns::runsList().

14  : id_(count())
15  {}
static count_type count()
Definition: TagName.h:54
count_type id_
Definition: TagName.h:38
TagName::TagName ( const std::string &  name)
inlineexplicit

Definition at line 17 of file TagName.h.

Referenced by ProducePlots.ProducePlots::plotAllAndLast40Runs(), PopulateDB.PopulateDB::run(), and DiscoverProcessedRuns.DiscoverProcessedRuns::runsList().

18  : name_(regName(name)), id_(count())
19  { };
Registry::iterator name_
Definition: TagName.h:37
static Registry::iterator regName(const std::string &s)
Definition: TagName.h:40
static count_type count()
Definition: TagName.h:54
count_type id_
Definition: TagName.h:38

Member Function Documentation

static count_type TagName::count ( void  )
inlinestaticprivate

Definition at line 54 of file TagName.h.

References i.

54  {
55  static count_type i=0;
56  ++i;
57  return i;
58  }
int i
Definition: DBlmapReader.cc:9
unsigned int count_type
Definition: TagName.h:35
std::string TagName::operator() ( ) const
inline

Definition at line 23 of file TagName.h.

References name_.

23 { return name_->first; }
Registry::iterator name_
Definition: TagName.h:37
bool TagName::operator< ( const TagName n) const
inline

Definition at line 29 of file TagName.h.

References id_.

29  {
30  return (id_ < n.id_);
31  }
count_type id_
Definition: TagName.h:38
static Registry::iterator TagName::regName ( const std::string &  s)
inlinestaticprivate

Definition at line 40 of file TagName.h.

40  {
41  static Registry reg;
42  Registry::size_type sz = reg.size();
43  Registry::value_type val(s, sz);
44  /*
45  std::pair<Registry::iterator, bool> insert = reg.insert(val);
46  if (!insert.second) {
47  sz = insert.first->second;
48  }
49  return insert.first;
50  */
51  return reg.insert(val).first;
52  }
std::map< std::string, unsigned int > Registry
Definition: TagName.h:34
uint16_t size_type
Container::value_type value_type
bool TagName::sameName ( const TagName tn) const
inline

Definition at line 25 of file TagName.h.

References name_.

25  {
26  return (name_ == tn.name_);
27  }
Registry::iterator name_
Definition: TagName.h:37
const std::string& TagName::str ( ) const
inline

Definition at line 21 of file TagName.h.

References name_.

21 { return name_->first; }
Registry::iterator name_
Definition: TagName.h:37

Member Data Documentation

count_type TagName::id_
private

Definition at line 38 of file TagName.h.

Referenced by operator<().

Registry::iterator TagName::name_
private

Definition at line 37 of file TagName.h.

Referenced by operator()(), sameName(), and str().