~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/registry.h

  • Committer: Monty Taylor
  • Date: 2009-04-17 19:04:13 UTC
  • mto: (997.2.1 mordred)
  • mto: This revision was merged to the branch mainline in revision 996.
  • Revision ID: mordred@inaugust.com-20090417190413-86859aoqvn6mymvx
Store a Registry of SchedulerFactories and set one of them at startup for better error messages earlier.

Show diffs side-by-side

added added

removed removed

Lines of Context:
74
74
 
75
75
  typedef typename std::set<T>::const_iterator const_iterator;
76
76
  typedef typename std::set<T>::iterator iterator;
 
77
  typedef size_t size_type;
77
78
 
78
79
  T find(const char *name, size_t length)
79
80
  {
81
82
    return find(find_str);
82
83
  }
83
84
 
84
 
  T find(std::string name)
 
85
  T find(const std::string &name)
85
86
  {
86
87
 
87
88
    typename std::map<std::string, T>::iterator find_iter;
89
90
    if (find_iter != item_map.end())
90
91
      return (*find_iter).second;
91
92
    
92
 
    transform(name.begin(), name.end(),
93
 
              name.begin(), ::tolower);
94
 
    find_iter=  item_map.find(name);
 
93
    /* We must look for lower case, so we make a copy of the input name */
 
94
    std::string lower_name(name);
 
95
    transform(lower_name.begin(), lower_name.end(),
 
96
              lower_name.begin(), ::tolower);
 
97
    find_iter=  item_map.find(lower_name);
95
98
    if (find_iter != item_map.end())
96
99
      return (*find_iter).second;
97
100
 
157
160
    return item_set.end();
158
161
  }
159
162
 
 
163
  size_type count(std::string name) const
 
164
  {
 
165
    /* Transform to lower, then add */
 
166
    transform(name.begin(), name.end(),
 
167
              name.begin(), ::tolower);
 
168
    return item_map.count(name);
 
169
  }
160
170
};
161
171
 
162
172
} /* namespace drizzled */