|
- #include "register_monitor_model.h"
-
- #include <algorithm>
-
- const std::vector<RegisterAddress> &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();
- }
|