![]() |
Lumiera 0.pre.04
»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 | value_type = _ValTrait::value_type |
| using | reference = _ValTrait::reference |
| using | pointer = _ValTrait::pointer |
Public Member Functions | |
| MutationMessage ()=default | |
| MutationMessage (MutationMessage &&)=default | |
| MutationMessage (MutationMessage const &)=default | |
| MutationMessage (MutationMessage &o) | |
| MutationMessage & | operator= (MutationMessage const &)=default |
| MutationMessage & | operator= (MutationMessage &&)=default |
| 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. | |
| template<typename... ARGS> | |
| MutationMessage (ARGS &&...args) | |
| Convenience builder to take an arbitrary number of DiffStep arguments. | |
| template<class IT > | |
| MutationMessage (IT &&ii, enable_if< can_IterForEach< IT >, void * >=nullptr) | |
| Convenience builder to piggyback any Lumiera Forward Iterator. | |
| 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. | |
| MutationMessage & | updateDiagnostics () |
| enable support to show content of the message. | |
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) | |
| IterAdapter () | |
| operator bool () const | |
| reference | operator* () const |
| pointer | operator-> () const |
| IterAdapter & | operator++ () |
| bool | isValid () const |
| bool | empty () const |
| ENABLE_USE_IN_STD_RANGE_FOR_LOOPS (IterAdapter) | |
Additional Inherited Members | |
Protected Types inherited from IterAdapter< Pos, DataHandle > | |
| using | ConRef = meta::RefTraits< DataHandle >::Reference |
Protected Member Functions inherited from IterAdapter< Pos, DataHandle > | |
| bool | check () const |
| ask the controlling container if this position is valid. | |
| void | iterate () |
| ask the controlling container to yield the next position. | |
| ConRef | source () |
| allow derived classes to access backing container | |
| const ConRef | source () const |
| void | resetPos (Pos otherPos) |
|
default |
|
default |
|
default |
|
inline |
Definition at line 132 of file mutation-message.hpp.
|
inlineexplicit |
MutationMessage builder: take ownership of an opaque heap allocated context from which the concrete diff can be pulled on demand.
Definition at line 143 of file mutation-message.hpp.
|
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.
| using _FrontEnd = DiffSource::iterator |
Definition at line 127 of file mutation-message.hpp.
|
default |
|
default |
|
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.
Inheritance diagram for MutationMessage:
Collaboration diagram for MutationMessage: