Notice
The README.md
of this release is not the latest version.
Please switch to the master branch to see the latest instructions on how to build/run/test this project.
FR Completed
- FR01 Configuration File Validity Check
- FR04 Reading Source Data
- FR05 Writing Output Data
- FR06-1 Supporting Generic Data Type
Newly-added Code
include/pvpf/utils/data_bucket.hpp
include/pvpf/data_io/*
include/pvpf/config/*
src/config/*
System Testing
20 created
20 passed
11 test cases left to be created
Unit Testing
62 created
62 passed
click the following link to download the coverage report. coverage.zip
The interpretation of branch coverage will be explained later.
Noticeable Things
Efficient data_bucket
& New core/any
Library
As the passing of data and parameters rely heavily on the data_bucket
class and any type, we have carefully thought about the implementation of data_bucket
. To avoid the deep copy of objects as much as we can, the data_bucket
utilizes the move semantics in many places. As a result, a new any type library was introduced because boost::any
does not support move semantics.
Usage samples can be found in unit test cases (unit_test/utils.data_bucket.cpp
).
In general, an object can be created from the source, passed through a bunch of nodes, and finally written to the sink without creating any copy if the user of the framework does not want this object to be copied at any time.