Lumiera  0.pre.03
»edit your freedom«
DiffApplicator< TAR > Class Template Reference

#include "lib/diff/diff-language.hpp"

Description

template<class TAR>
class lib::diff::DiffApplicator< TAR >

generic builder to apply a diff description to a given target data structure.

The usage pattern is as follows #. construct a DiffApplicator instance, wrapping the target data #. feed the diff (sequence of diff verbs) to the #consume function #. the wrapped target data has been altered, to conform to the given diff

Note
a suitable DiffApplicationStrategy will be picked, based on the type of the concrete target sequence given at construction. (Effectively this means you need a suitable DiffApplicationStrategy specialisation, e.g. for a target sequence within a vector)

Definition at line 293 of file diff-language.hpp.

Public Member Functions

 DiffApplicator (TAR &targetStructure)
 
template<class DIFF >
void consume (DIFF &&diff)
 

Private Types

using Interpreter = DiffApplicationStrategy< TAR >
 

Private Attributes

Interpreter target_
 

Additional Inherited Members

- Private Member Functions inherited from NonCopyable
 NonCopyable (NonCopyable const &)=delete
 
NonCopyableoperator= (NonCopyable const &)=delete
 
+ Inheritance diagram for DiffApplicator< TAR >:
+ Collaboration diagram for DiffApplicator< TAR >:

The documentation for this class was generated from the following file: