CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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_.

3  {
4  entries_.push_back(value_type(string,value));
5 }
std::vector< std::pair< std::string, int32_t > > entries_
Definition: StringMap.h:36
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:36
void StringMap::clear ( void  )
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:36
StringMap::const_iterator StringMap::find ( const std::string &  string) const

Definition at line 26 of file StringMap.cc.

References end(), entries_, and match().

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

26  {
27  vector_type::const_iterator match = std::lower_bound(entries_.begin(), entries_.end(), string, MatchByString());
28  return (match->first == string ? match : end());
29 }
const_iterator end() const
Definition: StringMap.h:32
std::vector< std::pair< std::string, int32_t > > entries_
Definition: StringMap.h:36
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:6
StringMap::const_iterator StringMap::find ( int32_t  number) const

Definition at line 31 of file StringMap.cc.

References entries_.

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

31  {
32  return std::find_if(entries_.begin(), entries_.end(), MatchByNumber(number));
33 }
std::vector< std::pair< std::string, int32_t > > entries_
Definition: StringMap.h:36
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 15 of file StringMap.cc.

References end(), entries_, and match().

15  {
16  vector_type::const_iterator match = std::lower_bound(entries_.begin(), entries_.end(), string, MatchByString());
17  return (match == end() ? -1 : match->second);
18 }
const_iterator end() const
Definition: StringMap.h:32
std::vector< std::pair< std::string, int32_t > > entries_
Definition: StringMap.h:36
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:6
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 20 of file StringMap.cc.

References end(), find(), and match().

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

Definition at line 34 of file StringMap.h.

References entries_.

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

Definition at line 7 of file StringMap.cc.

References entries_, and python.multivaluedict::sort().

7  {
8  std::sort(entries_.begin(), entries_.end());
9 }
std::vector< std::pair< std::string, int32_t > > entries_
Definition: StringMap.h:36

Member Data Documentation

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

Definition at line 36 of file StringMap.h.

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