Platform.Data.Doublets C++
Loading...
Searching...
No Matches
LinksUniquenessValidator.h
Go to the documentation of this file.
2{
3 template <typename...>
5 template <std::integral TLinkAddress>
6 class LinksUniquenessValidator<TLinkAddress> : public DecoratorBase<TFacade, TDecorated>
7 {
8 public:
9 LinksUniquenessValidator(ILinks<TLinkAddress>& storage) : DecoratorBase(storage) {}
10
11 public:
12 TLinkAddress Update(const LinkType& restriction, const LinkType& substitution)
13 {
14 auto constants = _constants;
15 storage.EnsureDoesNotExists(substitution[constants.SourcePart], substitution[constants.TargetPart]);
16 return storage.Update(restriction, substitution);
17 }
18 };
19} // namespace Platform::Data::Doublets::Decorators
TLinkAddress Update(const LinkType &restriction, const LinkType &substitution)
Definition LinksUniquenessValidator.h:12
LinksUniquenessValidator(ILinks< TLinkAddress > &storage)
Definition LinksUniquenessValidator.h:9
Definition Decorators.h:4