Exemplo n.º 1
0
 virtual Boxed_Value operator()(const std::vector<Boxed_Value> &params) const
 {
   if (dynamic_object_typename_match(params, m_type_name, m_ti))
   {
     return (*m_func)(params);
   } else {
     throw guard_error();
   } 
 }
Exemplo n.º 2
0
 virtual bool call_match(const std::vector<Boxed_Value> &vals) const
 {
   if (dynamic_object_typename_match(vals, m_type_name, m_ti))
   {
     return m_func->call_match(vals);
   } else {
     return false;
   }
 }    
Exemplo n.º 3
0
 bool dynamic_object_typename_match(const std::vector<Boxed_Value> &bvs, const std::string &name,
     const std::unique_ptr<Type_Info> &ti, const Type_Conversions &t_conversions) const
 {
   if (bvs.size() > 0)
   {
     return dynamic_object_typename_match(bvs[0], name, ti, t_conversions);
   } else {
     return false;
   }
 }
Exemplo n.º 4
0
 static bool dynamic_object_typename_match(const std::vector<Boxed_Value> &bvs, const std::string &name,
     const boost::optional<Type_Info> &ti) 
 {
   if (bvs.size() > 0)
   {
     return dynamic_object_typename_match(bvs[0], name, ti);
   } else {
     return false;
   }
 }
Exemplo n.º 5
0
 virtual bool compare_first_type(const Boxed_Value &bv) const
 {
   return dynamic_object_typename_match(bv, m_type_name, m_ti);
 }