#include <vector>
+#include <libsigrokdecode/libsigrokdecode.h>
+
#include "annotation.hpp"
+using std::vector;
+
namespace pv {
namespace data {
namespace decode {
+class Row;
+
class RowData
{
public:
uint64_t get_max_sample() const;
/**
- * Extracts sorted annotations between two period into a vector.
+ * Extracts annotations between the given sample range into a vector.
+ * Note: The annotations are unsorted and only annotations that fully
+ * fit into the sample range are considered.
*/
void get_annotation_subset(
- std::vector<pv::data::decode::Annotation> &dest,
+ vector<pv::data::decode::Annotation> &dest,
uint64_t start_sample, uint64_t end_sample) const;
- void push_annotation(const Annotation &a);
+ void emplace_annotation(srd_proto_data *pdata, const Row *row);
private:
- std::vector<Annotation> annotations_;
+ vector<Annotation> annotations_;
};
-}
-} // data
-} // pv
+} // namespace decode
+} // namespace data
+} // namespace pv
#endif // PULSEVIEW_PV_DATA_DECODE_ROWDATA_HPP