5 template <std::
integral TLinkAddress>
15 const ILinks<TLinkAddress>*
Sync;
21 SynchronizedLinks(ILinks<TLinkAddress>& storage) : this(ReaderWriterLockSynchronization(), storage) {}
26 SyncRoot = synchronization;
29 Constants = storage.Constants;
35 return SyncRoot.ExecuteReadOperation(restriction, Unsync.Count());
40 {
return SyncRoot.ExecuteReadOperation(handler, restriction, (handler1, restriction1) {
return Unsync.Each(restriction1, handler1)); }
46 return SyncRoot.ExecuteWriteOperation(restriction, Unsync.Create);
52 return SyncRoot.ExecuteWriteOperation(restriction, substitution, Unsync.Update);
56 void Delete(IList<TLinkAddress>& restriction)
58 SyncRoot.ExecuteWriteOperation(restriction, Unsync.Delete);
std::uint32_t TLinkAddress
Definition UInt32Links.h:3