15 #include <boost/optional/optional.hpp>
26 typedef std::shared_ptr<msg_task>
sptr;
42 std::vector<uint8_t> v(n);
43 memcpy(&v.front(), p, n);
46 return std::vector<uint8_t>();
71 [[deprecated(
"Prefer std::optional over boost::optional.")]]
static sptr make(
74 return make([task_fcn]() -> std::optional<msg_type_t> {
75 auto task_result = task_fcn();
76 return bool(task_result) ? std::make_optional<msg_type_t>(*task_result)
Definition: msg_task.hpp:24
std::shared_ptr< msg_task > sptr
Definition: msg_task.hpp:26
virtual msg_payload_t get_msg_from_dump_queue(uint32_t sid)=0
std::vector< uint8_t > msg_payload_t
Definition: msg_task.hpp:27
static sptr make(const task_fcn_type_legacy &task_fcn)
Definition: msg_task.hpp:71
std::pair< uint32_t, msg_payload_t > msg_type_t
Definition: msg_task.hpp:28
std::function< boost::optional< msg_type_t >void)> task_fcn_type_legacy
Definition: msg_task.hpp:30
virtual ~msg_task(void)=0
static sptr make(const task_fcn_type &task_fcn)
std::function< std::optional< msg_type_t >void)> task_fcn_type
Definition: msg_task.hpp:29
static UHD_INLINE std::vector< uint8_t > buff_to_vector(uint8_t *p, size_t n)
Definition: msg_task.hpp:39
#define UHD_INLINE
Definition: config.h:65
#define UHD_API
Definition: config.h:87
Definition: build_info.hpp:12
boost::noncopyable noncopyable
Definition: noncopyable.hpp:45