Chrysalis - Pattern
Toggle main menu visibility
Loading...
Searching...
No Matches
PatternInstructionsContainer.h
Go to the documentation of this file.
1
#ifndef CHRYSALIS_PATTERNINSTRUCTIONSCONTAINER_H
2
#define CHRYSALIS_PATTERNINSTRUCTIONSCONTAINER_H
3
4
#include "
arguments/PatternsContainerArgument.h
"
5
#include "
instructions/BasePatternInstruction.h
"
6
#include "
instructions/BaseInstructionsContainer.h
"
7
11
namespace
Chrysalis
{
12
class
PatternInstructionsContainer
:
public
BaseInstructionsContainer
<BasePatternInstruction> {
13
PROVIDE_SERIALIZATION_ACCESS
(
PatternInstructionsContainer
)
14
public
:
15
explicit
PatternInstructionsContainer
(
OptionsContainer
*
options
,
ExpressionsContainer
*
expressions
,
args::patterns
* patterns);
16
~PatternInstructionsContainer
()
override
;
17
private
:
19
args::patterns
* patterns_;
20
};
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
BaseInstructionsContainer.h
BasePatternInstruction.h
PatternsContainerArgument.h
Chrysalis::BaseInstructionsContainer< BasePatternInstruction >::options
OptionsContainer * options() const
Definition
BaseInstructionsContainer.h:46
Chrysalis::BaseInstructionsContainer< BasePatternInstruction >::BaseInstructionsContainer
BaseInstructionsContainer(OptionsContainer *options, ExpressionsContainer *expressions)
Definition
BaseInstructionsContainer.h:21
Chrysalis::BaseInstructionsContainer< BasePatternInstruction >::expressions
ExpressionsContainer * expressions() const
Definition
BaseInstructionsContainer.h:49
Chrysalis::PatternInstructionsContainer
Definition
PatternInstructionsContainer.h:12
Chrysalis::PatternInstructionsContainer::PatternInstructionsContainer
PatternInstructionsContainer(OptionsContainer *options, ExpressionsContainer *expressions, args::patterns *patterns)
Definition
PatternInstructionsContainer.cpp:5
Chrysalis::PatternInstructionsContainer::~PatternInstructionsContainer
~PatternInstructionsContainer() override
Definition
PatternInstructionsContainer.cpp:9
Chrysalis::args::patterns
PatternsContainerArgument patterns
Definition
PatternsContainerArgument.h:31
Chrysalis
Definition
Argument.h:9
Chrysalis::save_construct_data
void save_construct_data(Archive &archive, const Argument< T > *obj, const unsigned int)
Definition
Argument.h:25
Chrysalis::ExpressionsContainer
ScopedNamedElementsContainer< Expression > ExpressionsContainer
Definition
Expression.h:23
Chrysalis::OptionsContainer
ScopedNamedElementsContainer< Option > OptionsContainer
Definition
Option.h:27
Chrysalis::serialize
void serialize(Archive &archive, Argument< T > &obj, const unsigned int version)
Definition
Argument.h:25
Chrysalis::load_construct_data
void load_construct_data(Archive &archive, Argument< T > *obj, const unsigned int)
Definition
Argument.h:25
PROVIDE_SERIALIZATION_ACCESS
#define PROVIDE_SERIALIZATION_ACCESS(Class)
Definition
serialization.h:29
pattern
include
instructions
PatternInstructionsContainer.h
Generated by
1.17.0