vdj_pipe
pipeline for processing DNA sequence data
step_maker.hpp
Go to the documentation of this file.
1 
7 #ifndef STEP_MAKER_HPP_
8 #define STEP_MAKER_HPP_
9 #include <string>
10 #include "boost/property_tree/ptree_fwd.hpp"
11 #include "boost/static_assert.hpp"
12 
13 namespace vdj_pipe{
14 class Pipe_environment;
15 
16 namespace step{
17 
20 template<class Step> struct Maker {
21  typedef Step result_type;
22  typedef typename result_type::vma_type vma_type;
23 
24  static std::string const& name() {return result_type::name();}
25  static std::string const& category() {return result_type::category();}
26  static std::string const& comment() {return result_type::comment();}
27  static std::string const& description() {return result_type::description();}
28 
29  static result_type make(
30  vma_type const& vma,
33  ) {
34  return result_type(vma, pt, pe);
35  }
36 };
37 
40 template<class Step> struct Find_maker {
41  typedef Maker<Step> type;
42 // BOOST_STATIC_ASSERT(sizeof(type));
43 };
44 
45 }//namespace step
46 }//namespace vdj_pipe
47 #endif /* STEP_MAKER_HPP_ */
static std::string const & category()
Definition: step_maker.hpp:25
Definition: step_maker.hpp:20
result_type::vma_type vma_type
Definition: step_maker.hpp:22
Maker< Step > type
Definition: step_maker.hpp:41
static result_type make(vma_type const &vma, boost::property_tree::ptree const &pt, Pipe_environment &pe)
Definition: step_maker.hpp:29
static std::string const & name()
Definition: step_maker.hpp:24
Main namespace of vdj_pipe library.
Definition: keywords_variable.hpp:11
Definition: pipe_environment.hpp:26
static std::string const & description()
Definition: step_maker.hpp:27
Step result_type
Definition: step_maker.hpp:21
Definition: step_maker.hpp:40
bpt::ptree ptree
Definition: processing_step_utils.hpp:19
static std::string const & comment()
Definition: step_maker.hpp:26