CMS 3D CMS Logo

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

#include <StringMap.h>

Classes

class  MatchByNumber
 
class  MatchByString
 

Public Types

typedef vector_type::const_iterator const_iterator
 
typedef std::pair< std::string,
int32_t > 
value_type
 
typedef std::vector< value_typevector_type
 

Public Member Functions

void add (const std::string &string, int32_t value)
 
const_iterator begin () const
 
void clear ()
 
const_iterator end () const
 
const_iterator find (const std::string &string) const
 
const_iterator find (int32_t number) const
 
int32_t operator[] (const std::string &string) const
 
const std::string & operator[] (int32_t number) const
 
size_t size () const
 
void sort ()
 

Private Attributes

std::vector< std::pair
< std::string, int32_t > > 
entries_
 

Detailed Description

Definition at line 8 of file StringMap.h.

Member Typedef Documentation

typedef vector_type::const_iterator StringMap::const_iterator

Definition at line 12 of file StringMap.h.

typedef std::pair<std::string, int32_t> StringMap::value_type

Definition at line 10 of file StringMap.h.

typedef std::vector<value_type> StringMap::vector_type

Definition at line 11 of file StringMap.h.

Member Function Documentation

void StringMap::add ( const std::string &  string,
int32_t  value 
)

Definition at line 3 of file StringMap.cc.

References entries_.

Referenced by counter.Counter::register(), SequenceTypes.Task::remove(), and SequenceTypes.Task::replace().

3 { entries_.push_back(value_type(string, value)); }
std::vector< std::pair< std::string, int32_t > > entries_
Definition: StringMap.h:54
std::pair< std::string, int32_t > value_type
Definition: StringMap.h:10
const_iterator StringMap::begin ( void  ) const
inline

Definition at line 31 of file StringMap.h.

References entries_.

Referenced by edm::ParameterSetConverter::convertParameterSets().

31 { return entries_.begin(); }
std::vector< std::pair< std::string, int32_t > > entries_
Definition: StringMap.h:54
void StringMap::clear ( void  )

Definition at line 7 of file StringMap.cc.

References entries_.

Referenced by BeautifulSoup.Tag::setString().

7 { entries_.clear(); }
std::vector< std::pair< std::string, int32_t > > entries_
Definition: StringMap.h:54
const_iterator StringMap::end ( void  ) const
inline

Definition at line 32 of file StringMap.h.

References entries_.

Referenced by edm::ParameterSetConverter::convertParameterSets(), Types.LuminosityBlockRange::cppID(), Types.EventRange::cppID(), find(), and operator[]().

32 { return entries_.end(); }
std::vector< std::pair< std::string, int32_t > > entries_
Definition: StringMap.h:54
StringMap::const_iterator StringMap::find ( const std::string &  string) const

Definition at line 20 of file StringMap.cc.

References end(), entries_, cuda_std::lower_bound(), match(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by BeautifulSoup.Tag::__getattr__(), BeautifulSoup.Tag::firstText(), and operator[]().

20  {
21  vector_type::const_iterator match = std::lower_bound(entries_.begin(), entries_.end(), string, MatchByString());
22  return (match->first == string ? match : end());
23 }
const_iterator end() const
Definition: StringMap.h:32
std::vector< std::pair< std::string, int32_t > > entries_
Definition: StringMap.h:54
__host__ __device__ constexpr RandomIt lower_bound(RandomIt first, RandomIt last, const T &value, Compare comp={})
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10
StringMap::const_iterator StringMap::find ( int32_t  number) const

Definition at line 25 of file StringMap.cc.

References entries_.

Referenced by BeautifulSoup.Tag::__getattr__(), and BeautifulSoup.Tag::firstText().

25  {
26  return std::find_if(entries_.begin(), entries_.end(), MatchByNumber(number));
27 }
std::vector< std::pair< std::string, int32_t > > entries_
Definition: StringMap.h:54
int32_t StringMap::operator[] ( const std::string &  string) const

return associated number, or -1 if no one is found in case the association is not unque, the choice of the returned value is undetermined note: works only after it's sorted

Definition at line 9 of file StringMap.cc.

References end(), entries_, cuda_std::lower_bound(), match(), and AlCaHLTBitMon_QueryRunRegistry::string.

9  {
10  vector_type::const_iterator match = std::lower_bound(entries_.begin(), entries_.end(), string, MatchByString());
11  return (match == end() ? -1 : match->second);
12 }
const_iterator end() const
Definition: StringMap.h:32
std::vector< std::pair< std::string, int32_t > > entries_
Definition: StringMap.h:54
__host__ __device__ constexpr RandomIt lower_bound(RandomIt first, RandomIt last, const T &value, Compare comp={})
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10
const std::string & StringMap::operator[] ( int32_t  number) const

return associated string, or "" if none is there in case the association is not unque, the choice of the returned value is undetermined note: works only after it's sorted

Definition at line 14 of file StringMap.cc.

References end(), find(), match(), and AlCaHLTBitMon_QueryRunRegistry::string.

14  {
15  static const std::string empty_;
16  vector_type::const_iterator match = find(number);
17  return (match == end() ? empty_ : match->first);
18 }
const_iterator end() const
Definition: StringMap.h:32
const_iterator find(const std::string &string) const
Definition: StringMap.cc:20
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10
size_t StringMap::size ( void  ) const
inline

Definition at line 34 of file StringMap.h.

References entries_.

Referenced by ntupleDataFormat._Collection::__iter__(), and ntupleDataFormat._Collection::__len__().

34 { return entries_.size(); }
std::vector< std::pair< std::string, int32_t > > entries_
Definition: StringMap.h:54
void StringMap::sort ( )

Definition at line 5 of file StringMap.cc.

References entries_.

5 { std::sort(entries_.begin(), entries_.end()); }
std::vector< std::pair< std::string, int32_t > > entries_
Definition: StringMap.h:54

Member Data Documentation

std::vector<std::pair<std::string, int32_t> > StringMap::entries_
private

Definition at line 54 of file StringMap.h.

Referenced by add(), begin(), clear(), end(), find(), operator[](), size(), and sort().