11 #ifndef RTI_ROUTING_TRANSF_TRANSFORMATION_HPP_
12 #define RTI_ROUTING_TRANSF_TRANSFORMATION_HPP_
16 #include <dds/core/xtypes/DynamicData.hpp>
17 #include <dds/sub/SampleInfo.hpp>
18 #include <rti/routing/UpdatableEntity.hpp>
19 #include <rti/routing/detail/ForwarderUtils.hpp>
21 namespace rti {
namespace routing {
namespace transf {
38 typedef void* SamplePtr;
39 typedef void* InfoPtr;
81 std::vector<SamplePtr>& output_sample_seq,
82 std::vector<InfoPtr>& output_info_seq,
83 const std::vector<SamplePtr>& input_sample_seq,
84 const std::vector<InfoPtr>& input_info_seq) = 0;
102 std::vector<SamplePtr>& sample_seq,
103 std::vector<InfoPtr>& info_seq) = 0;
121 template <
typename Data,
typename Info>
143 std::vector<SamplePtr>& output_sample_seq,
144 std::vector<InfoPtr>& output_info_seq,
145 const std::vector<SamplePtr>& input_sample_seq,
146 const std::vector<InfoPtr>& input_info_seq) RTI_FINAL
148 RTI_ROUTING_SAMPLE_VECTOR_COPY_PTRS(in_sample_seq_, input_sample_seq);
149 RTI_ROUTING_SAMPLE_VECTOR_COPY_PTRS(in_info_seq_, input_info_seq);
155 RTI_ROUTING_SAMPLE_VECTOR_COPY_PTRS(output_sample_seq, out_sample_seq_);
156 RTI_ROUTING_SAMPLE_VECTOR_COPY_PTRS(output_info_seq, out_info_seq_);
164 std::vector<SamplePtr>& sample_seq,
165 std::vector<InfoPtr>& info_seq) RTI_FINAL
167 RTI_ROUTING_SAMPLE_VECTOR_COPY_PTRS(out_sample_seq_, sample_seq);
168 RTI_ROUTING_SAMPLE_VECTOR_COPY_PTRS(out_info_seq_, info_seq);
170 out_sample_seq_.clear();
171 out_info_seq_.clear();
180 std::vector<Data*>& output_sample_seq,
181 std::vector<Info*>& output_info_seq,
182 const std::vector<Data*>& input_sample_seq,
183 const std::vector<Info*>& input_info_seq) = 0;
191 std::vector<Data*>& sample_seq,
192 std::vector<Info*>& info_seq) = 0;
202 std::vector<Data*> in_sample_seq_;
203 std::vector<Info*> in_info_seq_;
204 std::vector<Data*> out_sample_seq_;
205 std::vector<Info*> out_info_seq_;
216 typedef TypedTransformation<dds::core::xtypes::DynamicData, dds::sub::SampleInfo>
223 #endif // RTI_ROUTING_TRANSF_TRANSFORMATION_HPP_