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> >(); } }
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(); } }
static Result_Type cast(const Boxed_Value &ob, const Type_Conversions *) { return ob.get().cast<std::shared_ptr<Result> >(); }