diff --git a/src/lib/diff/tree-mutator-collection-binding.hpp b/src/lib/diff/tree-mutator-collection-binding.hpp index 50da11331..a0476eade 100644 --- a/src/lib/diff/tree-mutator-collection-binding.hpp +++ b/src/lib/diff/tree-mutator-collection-binding.hpp @@ -174,6 +174,7 @@ using Iter = typename BIN::iterator; BIN binding_; + public: ///////////////TODO: diagnostics Iter pos_; @@ -184,8 +185,19 @@ , pos_(binding_.initMutation()) { } + ChildCollectionMutator (ChildCollectionMutator&&) =default; + ChildCollectionMutator (ChildCollectionMutator const&) =delete; + ChildCollectionMutator& operator= (ChildCollectionMutator const&) =delete; + /////////////////TODO : diagnostics + typename BIN::const_iterator + exposeSrcBuffer() const + { + return eachElm (binding_.contentBuffer); + } + /////////////////TODO : diagnostics + /* ==== re-Implementation of the operation API ==== */ /** skip next pending src element, diff --git a/src/lib/diff/tree-mutator.hpp b/src/lib/diff/tree-mutator.hpp index 57fa6ebed..5f0bd4e86 100644 --- a/src/lib/diff/tree-mutator.hpp +++ b/src/lib/diff/tree-mutator.hpp @@ -333,8 +333,8 @@ namespace diff{ struct Builder : PAR { - Builder(PAR par) - : PAR(par) + Builder(PAR&& par) + : PAR(std::forward(par)) { } template diff --git a/tests/library/diff/tree-manipulation-binding-test.cpp b/tests/library/diff/tree-manipulation-binding-test.cpp index 213d3e6b4..09d045eb2 100644 --- a/tests/library/diff/tree-manipulation-binding-test.cpp +++ b/tests/library/diff/tree-manipulation-binding-test.cpp @@ -354,6 +354,7 @@ namespace test{ CHECK (isnil (contents)); cout << "injected......" << join(target) <