- uint8_t* data = new uint8_t[end_sample - start_sample];
- const size_t size = (end_sample - start_sample) * unit_size_;
- memcpy(data, (uint8_t*)data_.data() + start_sample * unit_size_, size);
- return data;
+ return get_raw_samples(start_sample, (end_sample-start_sample));
+}
+
+SegmentLogicDataIterator* LogicSegment::begin_sample_iteration(uint64_t start)
+{
+ return (SegmentLogicDataIterator*)begin_raw_sample_iteration(start);
+}
+
+void LogicSegment::continue_sample_iteration(SegmentLogicDataIterator* it, uint64_t increase)
+{
+ Segment::continue_raw_sample_iteration((SegmentRawDataIterator*)it, increase);
+}
+
+void LogicSegment::end_sample_iteration(SegmentLogicDataIterator* it)
+{
+ Segment::end_raw_sample_iteration((SegmentRawDataIterator*)it);