コード例 #1
0
 static Result_Type cast(const Boxed_Value &ob, const Type_Conversions *)
 {
   if (!ob.get_type_info().is_const())
   {
     return std::const_pointer_cast<const Result>(ob.get().cast<std::shared_ptr<Result> >());
   } else {
     return ob.get().cast<std::shared_ptr<const Result> >();
   }
 }
コード例 #2
0
 static Result_Type cast(const Boxed_Value &ob, const Type_Conversions *)
 {
   if (ob.is_ref())
   {
     return &(ob.get().cast<std::reference_wrapper<Result> >()).get();
   } else {
     return (ob.get().cast<std::shared_ptr<Result> >()).get();
   }
 }
コード例 #3
0
 static Result_Type cast(const Boxed_Value &ob, const Type_Conversions *)
 {
   return ob.get().cast<std::shared_ptr<Result> >();
 }