MorphologicalAttributeFilters
Public API documentation
Loading...
Searching...
No Matches
mmcfilters::local_attributes::LocalRule Concept Reference

Compile-time contract for a rule valued in an additive Abelian group. More...

#include <FiniteWindowLocalAttributeComputer.hpp>

Concept definition

template<class Rule>
concept mmcfilters::local_attributes::LocalRule = requires(const Rule& rule, BinaryVisibilityState state, typename Rule::Value& target, const typename Rule::Value& source) {
typename Rule::Value;
{ rule.additiveIdentity() } -> std::same_as<typename Rule::Value>;
{ rule.evaluateLocalRule(state) } -> std::same_as<typename Rule::Value>;
{ rule.addAssign(target, source) } -> std::same_as<void>;
{ rule.subtractAssign(target, source) } -> std::same_as<void>;
}
Compile-time contract for a rule valued in an additive Abelian group.
Owning result for one computed scalar attribute layout and buffer.

Detailed Description

Compile-time contract for a rule valued in an additive Abelian group.

C++ can verify the required operations but not their algebraic laws. A model of this concept must therefore ensure that additiveIdentity, addAssign, and subtractAssign implement the identity, commutative addition, and additive inverse of one Abelian group.

Definition at line 230 of file FiniteWindowLocalAttributeComputer.hpp.