abstract_text_format.h
Go to the documentation of this file.
1 
9 #pragma once
10 
11 #include <iosfwd>
12 #include "interop/util/cstdint.h"
13 
14 namespace illumina { namespace interop { namespace io
15 {
21  template<class Metric>
23  {
25  typedef Metric metric_t;
27  typedef typename Metric::header_type header_t;
29  typedef typename metric_t::id_t id_t;
30 
33  virtual ~abstract_text_format() {}
43  virtual size_t write_header(std::ostream &out,
44  const header_t &header,
45  const std::vector<std::string>& channel_names,
46  const char sep,
47  const char eol) = 0;
58  virtual size_t write_metric(std::ostream &out,
59  const metric_t &metric,
60  const header_t &header,
61  const char sep,
62  const char eol,
63  const char missing) = 0;
64 
69  virtual ::int16_t version() const=0;
70  };
71 }}}
72 
Metric::header_type header_t
Definition: abstract_text_format.h:27
Definition: enum_description.h:15
virtual size_t write_header(std::ostream &out, const header_t &header, const std::vector< std::string > &channel_names, const char sep, const char eol)=0
metric_t::id_t id_t
Definition: abstract_text_format.h:29
virtual ::int16_t version() const =0
virtual size_t write_metric(std::ostream &out, const metric_t &metric, const header_t &header, const char sep, const char eol, const char missing)=0
Definition: abstract_text_format.h:22
virtual ~abstract_text_format()
Definition: abstract_text_format.h:33
Metric metric_t
Definition: abstract_text_format.h:25