13#ifndef IOX2_ATTRIBUTE_VERIFIER_HPP
14#define IOX2_ATTRIBUTE_VERIFIER_HPP
48 auto
keys() const ->
iox2::bb::StaticVector<
Attribute::Key, IOX2_MAX_ATTRIBUTES_PER_SERVICE>;
58 template <typename, typename, typename, typename,
ServiceType>
65 iox2_attribute_verifier_h m_handle =
nullptr;
auto attributes() const -> AttributeSetView
Returns the underlying required [AttributeSet].
AttributeVerifier(const AttributeVerifier &)=delete
AttributeVerifier(AttributeVerifier &&) noexcept
AttributeVerifier()
Creates a new empty set of [Attribute]s.
auto require(const Attribute::Key &key, const Attribute::Value &value) -> bb::Expected< void, AttributeDefinitionError >
Requires a value for a specific key. A key is allowed to have multiple values.
auto keys() const -> iox2::bb::StaticVector< Attribute::Key, IOX2_MAX_ATTRIBUTES_PER_SERVICE >
Returns the underlying required keys.
auto require_key(const Attribute::Key &key) -> bb::Expected< void, AttributeDefinitionError >
Requires that a specific key is defined.
auto verify_requirements(const AttributeSetView &rhs) const -> bb::Expected< void, Attribute::Key >
Verifies if the [AttributeSet] contains all required keys and key-value pairs.
Builder to create new [MessagingPattern::Event] based [Service]s.
Builder to create new [MessagingPattern::PublishSubscribe] based [Service]s.
AttributeDefinitionError
Failures that can occur when defining [Attribute]s with [AttributeSpecifier::define()].