27 #ifndef OSPL_DDS_PUB_DETAIL_FIND_HPP_ 28 #define OSPL_DDS_PUB_DETAIL_FIND_HPP_ 34 #include <org/opensplice/pub/PublisherDelegate.hpp> 35 #include <org/opensplice/pub/AnyDataWriterDelegate.hpp> 47 template <
typename WRITER,
typename FwdIterator>
50 FwdIterator begin, int32_t max_size)
52 ISOCPP_REPORT_STACK_DDS_BEGIN(pub);
54 org::opensplice::pub::AnyDataWriterDelegate::ref_type writer_base = pub.delegate()->find_datawriter(topic_name);
57 typename WRITER::DELEGATE_REF_T writer_typed =
58 OSPL_CXX11_STD_MODULE::dynamic_pointer_cast<
typename WRITER::DELEGATE_T>(writer_base);
59 WRITER dw(writer_typed);
60 if(dw != dds::core::null)
71 template <
typename WRITER,
typename BinIterator>
74 const std::string& topic_name,
77 ISOCPP_REPORT_STACK_DDS_BEGIN(pub);
78 org::opensplice::pub::AnyDataWriterDelegate::ref_type writer_base = pub.delegate()->find_datawriter(topic_name);
81 typename WRITER::DELEGATE_REF_T writer_typed =
82 OSPL_CXX11_STD_MODULE::dynamic_pointer_cast<
typename WRITER::DELEGATE_T>(writer_base);
83 WRITER dw(writer_typed);
84 if(dw != dds::core::null)
uint32_t find(const dds::pub::Publisher &pub, const std::string &topic_name, FwdIterator begin, uint32_t max_size)
The Publisher acts on the behalf of one or several DataWriter objects that belong to it...