10 #include "boost/foreach.hpp" 11 #include "boost/property_tree/ptree.hpp" 22 typedef typename Config::input_step input_step;
23 typedef typename Config::processing_step processing_step;
24 typedef typename Config::value_map_access vm_access;
25 typedef std::vector<processing_step> step_vector;
27 static std::string
const& name() {
return Config::name();}
32 boost::property_tree::ptree
const& pt,
40 boost::property_tree::ptree::value_type
const& vt,
47 void add_step(boost::property_tree::ptree
const& pt) {
48 add_step(create_step<Config>(vma_, pt, pe_));
51 void add_step(processing_step
const& step) {sv_.push_back(step);}
53 vm_access
const& value_map()
const {
return vma_;}
54 vm_access& value_map() {
return vma_;}
59 BOOST_FOREACH(processing_step& step, sv_) {
60 boost::apply_visitor(rv, step);
62 }
catch(std::exception
const&) {
63 BOOST_THROW_EXCEPTION(
65 << base_exception::msg_t(
"error processing read")
66 << base_exception::str1_t(sanitize(vma_.read_id_nothrow()))
67 << base_exception::nested_t(boost::current_exception())
73 std::size_t size()
const {
return sv_.size();}
74 processing_step
const& step(
const std::size_t n)
const {
return sv_[n];}
76 void run() {
while( ins_.run() ) process_read();}
80 BOOST_FOREACH(processing_step& step, sv_) {
81 boost::apply_visitor(finish, step);
Main namespace of vdj_pipe library.
Definition: sequence_file.hpp:14
Definition: pipe_environment.hpp:26
Definition: visitor.hpp:18
Definition: exception.hpp:23
Definition: pipeline.hpp:21
Definition: visitor.hpp:35