11 namespace DataConsistencyGroupDetail {
46 [[deprecated(
"use list constructor with MatchingMode instead")]]
48 [[deprecated(
"use list constructor with MatchingMode instead")]]
50 DataConsistencyGroup(std::initializer_list<std::reference_wrapper<TransferElementAbstractor>> list,
53 template<
typename ITERATOR>
59 [[deprecated(
"use add function with histLen instead")]]
61 [[deprecated(
"use add function with histLen instead")]]
62 void add(boost::shared_ptr<TransferElement> element);
80 [[deprecated(
"set MatchingMode in constructor instead")]]
87 [[nodiscard]]
const std::map<TransferElementID, TransferElementAbstractor>&
getElements()
const;
101 std::unique_ptr<DataConsistencyGroupDetail::MatcherBase> _impl;
106 template<
typename ITERATOR>
110 for(
auto it = first; it != last; ++it) {
Base class for matcher implementations; will not be instantiated directly.
Group several registers (= TransferElement) which ensures data consistency across multiple variables ...
DataConsistencyGroup(DataConsistencyGroup &&other) noexcept
const DataConsistencyGroupDetail::MatcherBase & getMatcher()
For diagnostics.
void setMatchingMode(MatchingMode newMode)
Change the matching mode.
void add(const TransferElementAbstractor &element)
Add register to group.
MatchingMode getMatchingMode() const
Return the current matching mode.
DataConsistencyGroup(const DataConsistencyGroup &other)=delete
DataConsistencyGroup & operator=(DataConsistencyGroup &&other) noexcept
MatchingMode
Enum describing the matching mode of a DataConsistencyGroup.
@ none
No matching, effectively disable the DataConsitencyGroup. update() will always return true.
@ exact
Require an exact match of the VersionNumber of all current values of the group's members.
const std::map< TransferElementID, TransferElementAbstractor > & getElements() const
For inspection of contents.
DataConsistencyGroup(MatchingMode mode=MatchingMode::exact)
Construct empty group.
bool isConsistent() const
returns true if consistent state is reached
bool update(const TransferElementID &transferElementID)
This function must be called after an update was received from the ReadAnyGroup.
static constexpr unsigned defaultHistLen
Base class for register accessors abstractors independent of the UserType.
Simple class holding a unique ID for a TransferElement.