X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fsegment.hpp;h=3305f4c8d3033b7ce05f0b06cfcd98cd4549ae82;hp=14122d6a001a8d1e7cd25c61091a3a38f35e3cb6;hb=aca9aa834c742ba70f49d1ac3eb2d1e02e759416;hpb=dd3f9a41a6b4debf5ad7aa8226bebd13504f2295 diff --git a/pv/data/segment.hpp b/pv/data/segment.hpp index 14122d6a..3305f4c8 100644 --- a/pv/data/segment.hpp +++ b/pv/data/segment.hpp @@ -23,10 +23,13 @@ #include "pv/util.hpp" -#include #include +#include #include +using std::recursive_mutex; +using std::vector; + namespace SegmentTest { struct SmallSize8Single; struct MediumSize8Single; @@ -37,7 +40,7 @@ struct MaxSize32Single; struct MediumSize32Multi; struct MaxSize32Multi; struct MaxSize32MultiIterated; -} +} // namespace SegmentTest namespace pv { namespace data { @@ -74,12 +77,12 @@ protected: void append_samples(void *data, uint64_t samples); uint8_t* get_raw_samples(uint64_t start, uint64_t count) const; - SegmentRawDataIterator* begin_raw_sample_iteration(uint64_t start) const; - void continue_raw_sample_iteration(SegmentRawDataIterator* it, uint64_t increase) const; - void end_raw_sample_iteration(SegmentRawDataIterator* it) const; + SegmentRawDataIterator* begin_raw_sample_iteration(uint64_t start); + void continue_raw_sample_iteration(SegmentRawDataIterator* it, uint64_t increase); + void end_raw_sample_iteration(SegmentRawDataIterator* it); - mutable std::recursive_mutex mutex_; - std::vector data_chunks_; + mutable recursive_mutex mutex_; + vector data_chunks_; uint8_t* current_chunk_; uint64_t used_samples_, unused_samples_; uint64_t sample_count_; @@ -87,6 +90,8 @@ protected: double samplerate_; uint64_t chunk_size_; unsigned int unit_size_; + int iterator_count_; + bool mem_optimization_requested_; friend struct SegmentTest::SmallSize8Single; friend struct SegmentTest::MediumSize8Single;