Lumiera
0.pre.03
»edit your freedom«
|
#include "lib/diff/mutation-message.hpp"
Opaque message to effect a structural change on a target, which is likewise only known in an abstract way, as being specifically structured.
Sending such messages typically allows some implementation defined part within the Session to communicate structure and content to some other implementation defined part within the UI-Layer, without the necessity of both partners to be tightly coupled on implementation level or even know much about the other's implementation details. As motivation, contrast this to a naive UI implementation, which directly accesses some backend data structure; any change to the backend implementation typically affects the UI implementation on a detail level.
Definition at line 124 of file mutation-message.hpp.
Public Types | |
using | _FrontEnd = DiffSource::iterator |
Public Types inherited from IterSource< TY >::iterator | |
using | _I = IterAdapter< Pos, DataHandle > |
Public Types inherited from IterAdapter< Pos, DataHandle > | |
using | pointer = typename _ValTrait::pointer |
using | reference = typename _ValTrait::reference |
using | value_type = typename _ValTrait::value_type |
Public Member Functions | |
MutationMessage (MutationMessage &&)=default | |
MutationMessage (MutationMessage const &)=default | |
MutationMessage (MutationMessage &o) | |
MutationMessage (DiffSource *diffGenerationContext) | |
MutationMessage builder: take ownership of an opaque heap allocated context from which the concrete diff can be pulled on demand. | |
MutationMessage (std::initializer_list< DiffStep > const &&ili) | |
Convenience builder for consuming an brace enclosed initializer_list. More... | |
template<typename... ARGS> | |
MutationMessage (ARGS &&...args) | |
Convenience builder to take an arbitrary number of DiffStep arguments. More... | |
template<class IT > | |
MutationMessage (IT &&ii, enable_if< can_IterForEach< IT >, void *>=nullptr) | |
Convenience builder to piggyback any Lumiera Forward Iterator. More... | |
template<class CON > | |
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. More... | |
MutationMessage & | operator= (MutationMessage const &)=default |
MutationMessage & | operator= (MutationMessage &&)=default |
MutationMessage & | updateDiagnostics () |
enable support to show content of the message. More... | |
Public Member Functions inherited from IterSource< TY >::iterator | |
operator string () const | |
Public Member Functions inherited from IterAdapter< Pos, DataHandle > | |
IterAdapter (DataHandle src, Pos const &startpos) | |
bool | empty () const |
ENABLE_USE_IN_STD_RANGE_FOR_LOOPS (IterAdapter) | |
bool | isValid () const |
operator bool () const | |
reference | operator* () const |
IterAdapter & | operator++ () |
pointer | operator-> () const |
Additional Inherited Members | |
Protected Types inherited from IterAdapter< Pos, DataHandle > | |
using | ConRef = typename meta::RefTraits< DataHandle >::Reference |
Protected Member Functions inherited from IterAdapter< Pos, DataHandle > | |
bool | check () const |
ask the controlling container if this position is valid. More... | |
void | iterate () |
ask the controlling container to yield the next position. More... | |
void | resetPos (Pos otherPos) |
ConRef | source () |
allow derived classes to access backing container | |
const ConRef | source () const |
|
inline |
Convenience builder for consuming an brace enclosed initializer_list.
shared_ptr
Definition at line 152 of file mutation-message.hpp.
|
inline |
Convenience builder to take an arbitrary number of DiffStep arguments.
Definition at line 162 of file mutation-message.hpp.
|
inline |
Convenience builder to piggyback any Lumiera Forward Iterator.
Definition at line 171 of file mutation-message.hpp.
|
inline |
Convenience builder to use elements form any STL-like container.
Definition at line 181 of file mutation-message.hpp.
References MutationMessage::updateDiagnostics().
|
inline |
enable support to show content of the message.
After calling this function, operator string() renders all DiffSteps
Definition at line 254 of file mutation-message.hpp.
Referenced by MutationMessage::MutationMessage().