SignalData: Added snapshots accessor method
[pulseview.git] / pv / data / logic.cpp
index e23283ac2952e23c3f87f0945e7fc91c5ce6b970..96f0d1fe7e63afe40bd8a23f8124eae698ab413d 100644 (file)
 
 #include <cassert>
 
-#include "logic.h"
-#include "logicsnapshot.h"
+#include "logic.hpp"
+#include "logicsnapshot.hpp"
 
 using std::deque;
 using std::max;
 using std::shared_ptr;
+using std::vector;
 
 namespace pv {
 namespace data {
 
 Logic::Logic(unsigned int num_channels) :
        SignalData(),
-       _num_channels(num_channels)
+       num_channels_(num_channels)
 {
-       assert(_num_channels > 0);
+       assert(num_channels_ > 0);
 }
 
 int Logic::get_num_channels() const
 {
-       return _num_channels;
+       return num_channels_;
 }
 
 void Logic::push_snapshot(
        shared_ptr<LogicSnapshot> &snapshot)
 {
-       _snapshots.push_front(snapshot);
+       snapshots_.push_front(snapshot);
 }
 
-deque< shared_ptr<LogicSnapshot> >& Logic::get_snapshots()
+const deque< shared_ptr<LogicSnapshot> >& Logic::logic_snapshots() const
 {
-       return _snapshots;
+       return snapshots_;
+}
+
+vector< shared_ptr<Snapshot> > Logic::snapshots() const
+{
+       return vector< shared_ptr<Snapshot> >(
+               snapshots_.begin(), snapshots_.end());
 }
 
 void Logic::clear()
 {
-       _snapshots.clear();
+       snapshots_.clear();
 }
 
 uint64_t Logic::get_max_sample_count() const
 {
        uint64_t l = 0;
-       for (std::shared_ptr<LogicSnapshot> s : _snapshots) {
+       for (std::shared_ptr<LogicSnapshot> s : snapshots_) {
                assert(s);
                l = max(l, s->get_sample_count());
        }