示例#1
0
 tendril::ptr&
 tendrils::operator[](const std::string& name)
 {
   boost::mutex::scoped_lock lock(mtx);
   storage_type::iterator it = storage.find(name);
   if (it == end())
     doesnt_exist(name);
   return it->second;
 }
示例#2
0
 T&
 get(const std::string& name) const
 {
   try
   {
     const_iterator iter = storage.find(name);
     if (iter == end())
       doesnt_exist(name);
     return iter->second->get<T>();
   } catch (except::TypeMismatch& e)
   {
     e << std::string("  Hint : ") + "'" + name + "' is of type: " + storage.at(name)->type_name();
     throw e;
   }
 }
示例#3
0
文件: tendrils.hpp 项目: imclab/ecto
 T&
 get(const std::string& name) const
 {
   const_iterator iter = storage.find(name);
   try
   {
     if (iter == end())
       doesnt_exist(name);
     return iter->second->get<T>();
   } catch (except::TypeMismatch& e)
   {
     e << except::actualtype_hint(iter->first)
       << except::tendril_key(name)
       ;
     throw;
   }
 }