* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include <boost/foreach.hpp>
+
#include "logic.h"
#include "logicsnapshot.h"
-using namespace boost;
-using namespace std;
+using boost::shared_ptr;
+using std::deque;
+using std::max;
namespace pv {
namespace data {
-Logic::Logic(const sr_datafeed_meta_logic &meta,
- uint64_t samplerate) :
- SignalData(samplerate),
- _num_probes(meta.num_probes)
+Logic::Logic(unsigned int num_probes) :
+ SignalData(),
+ _num_probes(num_probes)
{
+ assert(_num_probes > 0);
}
int Logic::get_num_probes() const
return _snapshots;
}
+void Logic::clear()
+{
+ _snapshots.clear();
+}
+
+uint64_t Logic::get_max_sample_count() const
+{
+ uint64_t l = 0;
+ BOOST_FOREACH(boost::shared_ptr<LogicSnapshot> s, _snapshots) {
+ assert(s);
+ l = max(l, s->get_sample_count());
+ }
+ return l;
+}
+
} // namespace data
} // namespace pv