| Line |
Branch |
Decision |
Call |
Exec |
Source |
| 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 |
|
|
|
|
|
| 8 |
|
|
|
|
/** @defgroup Instructions Instructions |
| 9 |
|
|
|
|
* @{ |
| 10 |
|
|
|
|
*/ |
| 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: |
| 18 |
|
|
|
|
/// @uml{composition} |
| 19 |
|
|
|
|
args::patterns* patterns_; |
| 20 |
|
|
|
|
}; |
| 21 |
|
|
|
|
template <class Archive> |
| 22 |
|
|
|
128 |
void serialize(Archive& archive, PatternInstructionsContainer& obj, const unsigned int version) |
| 23 |
|
|
|
|
{ |
| 24 |
|
|
4/4
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
|
128 |
archive & boost::serialization::base_object<BaseInstructionsContainer<BasePatternInstruction>>(obj); |
| 25 |
|
|
|
128 |
} |
| 26 |
|
|
|
|
|
| 27 |
|
|
|
|
template <class Archive> |
| 28 |
|
|
|
32 |
void save_construct_data(Archive& archive, const PatternInstructionsContainer* obj, const unsigned int) |
| 29 |
|
|
|
|
{ |
| 30 |
1/2
✓ Branch 11 taken 32 times.
✗ Branch 12 not taken.
|
|
12/13
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 10 invoked.
✓ Call 13 invoked.
✗ Call 14 not invoked.
|
32 |
archive & obj->options(); |
| 31 |
1/2
✓ Branch 11 taken 32 times.
✗ Branch 12 not taken.
|
|
12/13
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 10 invoked.
✓ Call 13 invoked.
✗ Call 14 not invoked.
|
32 |
archive & obj->expressions(); |
| 32 |
|
|
7/7
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
|
32 |
archive & obj->patterns_; |
| 33 |
|
|
|
32 |
} |
| 34 |
|
|
|
|
|
| 35 |
|
|
|
|
template <class Archive> |
| 36 |
|
|
|
32 |
void load_construct_data(Archive& archive, PatternInstructionsContainer* obj, const unsigned int) |
| 37 |
|
|
|
|
{ |
| 38 |
|
|
1/1
|
32 |
decltype(obj->options()) options_; |
| 39 |
|
|
1/1
|
32 |
decltype(obj->expressions()) expressions_; |
| 40 |
|
|
1/1
|
32 |
decltype(obj->patterns_) patterns_; |
| 41 |
1/2
✓ Branch 2 taken 32 times.
✗ Branch 3 not taken.
|
|
2/2
✓ Call 0 invoked.
✓ Call 1 invoked.
|
32 |
archive >> options_; |
| 42 |
1/2
✓ Branch 2 taken 32 times.
✗ Branch 3 not taken.
|
|
2/2
✓ Call 0 invoked.
✓ Call 1 invoked.
|
32 |
archive >> expressions_; |
| 43 |
1/2
✓ Branch 2 taken 32 times.
✗ Branch 3 not taken.
|
|
2/2
✓ Call 0 invoked.
✓ Call 1 invoked.
|
32 |
archive >> patterns_; |
| 44 |
1/4
✓ Branch 3 taken 32 times.
✗ Branch 4 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
|
|
4/5
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 5 invoked.
✗ Call 8 not invoked.
|
32 |
::new(obj) PatternInstructionsContainer(options_, expressions_, patterns_); |
| 45 |
|
|
|
32 |
} |
| 46 |
|
|
|
|
} |
| 47 |
|
|
|
|
/**@}*/ |
| 48 |
|
|
|
|
|
| 49 |
|
|
|
|
#endif //CHRYSALIS_PATTERNINSTRUCTIONSCONTAINER_H |
| 50 |
|
|
|
|
|