ppap4lmp
0.7.2
|
Adder adds new properties to a non-empty Element object. More...
#include <adder.h>
Public Member Functions | |
Updater ()=default | |
Constructor of Updater class. More... | |
![]() | |
Updater ()=default | |
Constructor of Updater class. More... | |
void | compute (const ElPtr &elem, const int elementid, Json &data) |
Managing computation to update Element::data. More... | |
void | remove_from_skippable_elementids (const int elementid) |
Remove Element::elementid from skippable_elementids. More... | |
const ShPtr< Generator > & | get_ext_generator () |
Get ext_generator of this object. More... | |
Protected Member Functions | |
virtual void | compute_body (const ElPtr &elem, Json &data) override |
Compute properties and add them to Element::data given as a mutable reference. More... | |
![]() | |
virtual void | compute_common (const ElPtr &elem, Json &data) |
Common part of compute_body. More... | |
virtual void | compute_impl (Json &data, JsonToVoidFunc check_required_keys, JsonToBoolFunc check_optional_keys)=0 |
Implementation of computation updating Element::data. More... | |
Additional Inherited Members | |
![]() | |
ShPtr< Generator > | ext_generator |
Adder adds new properties to a non-empty Element object.
This class inherits Updater class and overrides Updater::compute_boby. This class is an abstract class and has a pure virtual function, Adder::compute_impl.
Name of subclass of this class should be prefixed by Add. Unlike Starter, Adder accepts only non-empty Element::data.
Compute properties and add them to Element::data given as a mutable reference.
elem | Shared pointer to an Element object where computed properties are added to. |
data | Mutable reference to Element::data where computed properties are added to. |
This method ensures that a new property whose name is id is not added; id
property must be set at initialization (done by Starter) only.
Implements Updater.
Definition at line 16 of file adder.cpp.
|
default |
Constructor of Updater class.
This constructor is thread-unsafe because it accesses its members thread-globally. Ensure this constructor is not called in a multithreading context. Please be careful that constructors of subclasses of this class are also thread-unsafe.