| 624 | |
| 625 | template<typename Functor> |
| 626 | Functor* target() |
| 627 | { |
| 628 | if (!vtable) return 0; |
| 629 | |
| 630 | detail::function::function_buffer type_result; |
| 631 | type_result.members.type.type = &BOOST_CORE_TYPEID(Functor); |
| 632 | type_result.members.type.const_qualified = is_const<Functor>::value; |
| 633 | type_result.members.type.volatile_qualified = is_volatile<Functor>::value; |
| 634 | get_vtable()->manager(functor, type_result, |
| 635 | detail::function::check_functor_type_tag); |
| 636 | return static_cast<Functor*>(type_result.members.obj_ptr); |
| 637 | } |
| 638 | |
| 639 | template<typename Functor> |
| 640 | const Functor* target() const |
no test coverage detected