81#ifndef LIB_DIFF_MUTATION_MESSAGE_H
82#define LIB_DIFF_MUTATION_MESSAGE_H
161 template<
typename...ARGS>
172 :
_FrontEnd{iter_source::wrapIter (
std::forward<IT>(ii))}
183 :
_FrontEnd{iter_source::eachEntry(container)}
203 : std::vector<DiffStep>
207 for ( ; srcMsg; ++srcMsg )
236 operator string()
const override
253 inline MutationMessage&
254 MutationMessage::updateDiagnostics()
Iteration source interface to abstract a data source, which then can be accessed through IterAdapter ...
Accessing a STL element range through a Lumiera forward iterator, An instance of this iterator adapte...
Standard implementation of the IterSource interface: a wrapped "Lumiera Forward Iterator".
Decorator to be layered transparently on top of MutationMessage.
MaterialisedDiffBuffer(MutationMessage &srcMsg)
Lumiera error handling (C++ interface).
Generic building block for tree shaped (meta)data structures.
Preconfigured adapters for some STL container standard usage situations.
Extension module to build an opaque data source, accessible as Lumiera Forward Iterator.
RangeIter< _VecIter > _RangeIT
DiffSnapshot::iterator _VecIter
TreeDiffLanguage::DiffStep DiffStep
Implementation namespace for support and library code.
string join(COLL &&coll, string const &delim=", ")
enumerate a collection's contents, separated by delimiter.
Opaque message to effect a structural change on a target, which is likewise only known in an abstract...
MutationMessage(ARGS &&...args)
Convenience builder to take an arbitrary number of DiffStep arguments.
MutationMessage(std::initializer_list< DiffStep > const &&ili)
Convenience builder for consuming an brace enclosed initializer_list.
MutationMessage(MutationMessage &&)=default
MutationMessage(MutationMessage &o)
MutationMessage()=default
MutationMessage(DiffSource *diffGenerationContext)
MutationMessage builder: take ownership of an opaque heap allocated context from which the concrete d...
MutationMessage(CON &container, enable_if< __and_< can_STL_ForEach< CON >, __not_< can_IterForEach< CON > > >, void * >=nullptr)
Convenience builder to use elements form any STL-like container.
MutationMessage(MutationMessage const &)=default
MutationMessage(IT &&ii, enable_if< can_IterForEach< IT >, void * >=nullptr)
Convenience builder to piggyback any Lumiera Forward Iterator.
MutationMessage & operator=(MutationMessage const &)=default
"materialised view" of the diff sequence
DiffSnapshot(MutationMessage &srcMsg)
A token language to represent structural changes in a tree like hierarchical data structure.