struct DecodeSegment
{
- map<const Row*, RowData> annotation_rows;
+ // Constructor is a no-op
+ DecodeSegment() { };
+ // Copy constructor is a no-op
+ DecodeSegment(DecodeSegment&& ds) { (void)ds; };
+
+ map<const Row*, RowData> annotation_rows; // Note: Row is the same for all segments while RowData is not
pv::util::Timestamp start_time;
double samplerate;
int64_t samples_decoded_incl, samples_decoded_excl;
vector<DecodeBinaryClass> binary_classes;
+ deque<const Annotation*> all_annotations;
};
class DecodeSignal : public SignalBase
* Note: The annotations may be unsorted and only annotations that fully
* fit into the sample range are considered.
*/
- void get_annotation_subset(vector<const Annotation*> &dest, const Row* row,
+ void get_annotation_subset(deque<const Annotation*> &dest, const Row* row,
uint32_t segment_id, uint64_t start_sample, uint64_t end_sample) const;
/**
* Note: The annotations may be unsorted and only annotations that fully
* fit into the sample range are considered.
*/
- void get_annotation_subset(vector<const Annotation*> &dest, uint32_t segment_id,
+ void get_annotation_subset(deque<const Annotation*> &dest, uint32_t segment_id,
uint64_t start_sample, uint64_t end_sample) const;
uint32_t get_binary_data_chunk_count(uint32_t segment_id,
const DecodeBinaryClass* get_binary_data_class(uint32_t segment_id,
const Decoder* dec, uint32_t bin_class_id) const;
+ const deque<const Annotation*>* get_all_annotations_by_segment(uint32_t segment_id) const;
+
virtual void save_settings(QSettings &settings) const;
virtual void restore_settings(QSettings &settings);