vdj_pipe
pipeline for processing DNA sequence data
lib_info.hpp
Go to the documentation of this file.
1 
8 #ifndef VDJ_PIPELIB_INFO_HPP_
9 #define VDJ_PIPELIB_INFO_HPP_
10 #include <string>
11 #include <iosfwd>
12 #include "vdj_pipe/config.hpp"
13 
25 namespace vdj_pipe{
26 
29 struct VDJ_PIPE_DECL Lib_info {
30  static std::string const& name();
31  static std::string const& version();
32  static bool const& stamp_flag();
33  static void set_stamp_flag(bool aFlag);
34  static std::string const& description();
35  static std::string const& copyright();
36  static std::string const& license();
37  static std::string const& other_libs();
38  static std::string const& compiler();
39  static int version_1();
40  static int version_2();
41  static int version_3();
42  static std::string const& version_e();
43  static int build();
44 
45  template<class Ch, class Tr> static std::basic_ostream<Ch,Tr>&
46  print(std::basic_ostream<Ch,Tr>& os) {
47  os << name() << " - " << description() << ' ';
48  return print_version(os);
49  }
50 
51  template<class Ch, class Tr> static std::basic_ostream<Ch,Tr>&
52  print_version(std::basic_ostream<Ch,Tr>& os) {
53  os
54  << version()
55  << ", " << compiler()
56  << ", " << other_libs()
57  << ", build:" << build()
58  ;
59  return os;
60  }
61 };
62 
63 }//namespace vdj_pipe
64 #endif /* VDJ_PIPELIB_INFO_HPP_ */
Main namespace of vdj_pipe library.
Definition: sequence_file.hpp:14
library info
Definition: lib_info.hpp:29