#include "register_monitor_model.h" #include const std::vector &RegisterMonitorModel::addresses() const { return addresses_; } bool RegisterMonitorModel::contains(const RegisterAddress &address) const { return std::find(addresses_.begin(), addresses_.end(), address) != addresses_.end(); } bool RegisterMonitorModel::add(const RegisterAddress &address) { if (!address.isValid() || contains(address) || addresses_.size() >= kMaximumItemCount) { return false; } addresses_.push_back(address); return true; } bool RegisterMonitorModel::remove(const RegisterAddress &address) { const auto position = std::find(addresses_.begin(), addresses_.end(), address); if (position == addresses_.end()) { return false; } addresses_.erase(position); return true; } void RegisterMonitorModel::clear() { addresses_.clear(); }