shared pointer aliases require correct base class types
This commit is contained in:
parent
74815726bf
commit
de346b15b4
|
@ -60,7 +60,8 @@ struct pdu_data : public streamable {};
|
|||
* @tparam T PDU derived class
|
||||
*/
|
||||
template <class T>
|
||||
using Message = std::shared_ptr<T>;
|
||||
using Message = std::enable_if_t<std::is_base_of<Pdu, T>::value,
|
||||
std::shared_ptr<T>>;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -68,7 +69,8 @@ using Message = std::shared_ptr<T>;
|
|||
* @tparam T PDU derived class
|
||||
*/
|
||||
template <class T>
|
||||
using Handler = std::function<void(Message<T>)>;
|
||||
using Handler = std::enable_if_t<std::is_base_of<Pdu, T>::value,
|
||||
std::function<void(Message<T>)>>;
|
||||
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue
Block a user