Chrysalis - Pattern
Loading...
Searching...
No Matches
PatternInstructionsContainer.h
Go to the documentation of this file.
1#ifndef CHRYSALIS_PATTERNINSTRUCTIONSCONTAINER_H
2#define CHRYSALIS_PATTERNINSTRUCTIONSCONTAINER_H
3
7
11namespace Chrysalis {
21 template <class Archive>
22 void serialize(Archive& archive, PatternInstructionsContainer& obj, const unsigned int version)
23 {
24 archive & boost::serialization::base_object<BaseInstructionsContainer<BasePatternInstruction>>(obj);
25 }
26
27 template <class Archive>
28 void save_construct_data(Archive& archive, const PatternInstructionsContainer* obj, const unsigned int)
29 {
30 archive & obj->options();
31 archive & obj->expressions();
32 archive & obj->patterns_;
33 }
34
35 template <class Archive>
36 void load_construct_data(Archive& archive, PatternInstructionsContainer* obj, const unsigned int)
37 {
38 decltype(obj->options()) options_;
39 decltype(obj->expressions()) expressions_;
40 decltype(obj->patterns_) patterns_;
41 archive >> options_;
42 archive >> expressions_;
43 archive >> patterns_;
44 ::new(obj) PatternInstructionsContainer(options_, expressions_, patterns_);
45 }
46}
48
49#endif //CHRYSALIS_PATTERNINSTRUCTIONSCONTAINER_H
OptionsContainer * options() const
Definition BaseInstructionsContainer.h:46
BaseInstructionsContainer(OptionsContainer *options, ExpressionsContainer *expressions)
Definition BaseInstructionsContainer.h:21
ExpressionsContainer * expressions() const
Definition BaseInstructionsContainer.h:49
Definition PatternInstructionsContainer.h:12
PatternInstructionsContainer(OptionsContainer *options, ExpressionsContainer *expressions, args::patterns *patterns)
Definition PatternInstructionsContainer.cpp:5
~PatternInstructionsContainer() override
Definition PatternInstructionsContainer.cpp:9
PatternsContainerArgument patterns
Definition PatternsContainerArgument.h:31
Definition Argument.h:9
void save_construct_data(Archive &archive, const Argument< T > *obj, const unsigned int)
Definition Argument.h:25
ScopedNamedElementsContainer< Expression > ExpressionsContainer
Definition Expression.h:23
ScopedNamedElementsContainer< Option > OptionsContainer
Definition Option.h:27
void serialize(Archive &archive, Argument< T > &obj, const unsigned int version)
Definition Argument.h:25
void load_construct_data(Archive &archive, Argument< T > *obj, const unsigned int)
Definition Argument.h:25
#define PROVIDE_SERIALIZATION_ACCESS(Class)
Definition serialization.h:29