fpmas 1.6
cast.h
Go to the documentation of this file.
3
8namespace fpmas { namespace utils {
9
10 namespace detail {
19 template<typename T1, typename T2>
25 return {dynamic_cast<T1*>(ptr)};
26 }
27 };
28
35 template<typename T>
36 struct PtrWrapperCastImpl<T, T> {
41 return {ptr};
42 }
43 };
44 }
45
60 template<typename T1, typename T2>
63 }
64
75 template<typename T1, typename T2>
76 std::vector<api::utils::PtrWrapper<T1>> ptr_wrapper_cast(std::vector<T2*> vec) {
77 std::vector<api::utils::PtrWrapper<T1>> _vec;
78 for(auto agent : vec)
79 _vec.push_back(ptr_wrapper_cast<T1, T2>(agent));
80 return _vec;
81 }
82}}
Definition: ptr_wrapper.h:21
api::utils::PtrWrapper< T1 > ptr_wrapper_cast(T2 *ptr)
Definition: cast.h:61
Definition: fpmas.cpp:3
static api::utils::PtrWrapper< T > cast(T *ptr)
Definition: cast.h:40
static api::utils::PtrWrapper< T1 > cast(T2 *ptr)
Definition: cast.h:24