| 108 | } |
| 109 | |
| 110 | Workspace Workspace_Impl::cloneSubset(const std::vector<Handle>& handles, bool keepHandles, StrictnessLevel level) const { |
| 111 | // copy everything but objects |
| 112 | std::shared_ptr<Workspace_Impl> cloneImpl(new Workspace_Impl(*this, handles, keepHandles, level)); |
| 113 | // clone objects |
| 114 | createAndAddSubsetClonedObjects(workspace().getImpl<Workspace_Impl>(), cloneImpl, handles, keepHandles); |
| 115 | // wrap impl and return |
| 116 | Workspace result(cloneImpl); |
| 117 | return result; |
| 118 | } |
| 119 | |
| 120 | void Workspace_Impl::swap(Workspace& other) { |
| 121 | std::shared_ptr<Workspace_Impl> otherImpl = other.getImpl<Workspace_Impl>(); |