载入中...
搜索中...
未找到
EditingTargetOperations.h
浏览该文件的文档.
1#pragma once
2
5
6#include <memory>
7
8namespace eve::editing {
9
12public:
14 ~IDomainOperationTarget() override = default;
15
23};
24
27public:
29 virtual ~IDomainOperationTargetStaging() = default;
30
35 [[nodiscard]] virtual std::unique_ptr<IDomainOperationTarget> cloneDomainState() const = 0;
36
42 [[nodiscard]] virtual Result<void> commitDomainState(std::unique_ptr<IDomainOperationTarget> candidate) = 0;
43};
44
45} // namespace eve::editing
ActionParameterOperation operation
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Optional candidate/publish capability for atomic domain operations.
virtual std::unique_ptr< IDomainOperationTarget > cloneDomainState() const =0
Clone the complete target state into an owning detached candidate.
virtual Result< void > commitDomainState(std::unique_ptr< IDomainOperationTarget > candidate)=0
Atomically publish a validated candidate state.
virtual ~IDomainOperationTargetStaging()=default
Releases IDomainOperationTargetStaging resources.
Editable-target capability that applies owning domain operations.
~IDomainOperationTarget() override=default
Releases IDomainOperationTarget resources.
virtual Result< void > applyDomainOperation(const DomainOperation &operation)=0
Apply one validated domain operation.
IEditableTarget public API.
DomainOperation public API.