lane_summary.h
Go to the documentation of this file.
1 
8 #pragma once
9 
10 #include <cstddef>
11 #include <climits>
17 
18 namespace illumina { namespace interop { namespace model { namespace summary
19 {
20 
27  class lane_summary : public stat_summary
28  {
30  typedef std::vector<surface_summary> surface_summary_vector_t;
31  public:
34  public:
36  typedef surface_summary_vector_t::reference reference;
38  typedef surface_summary_vector_t::const_reference const_reference;
40  typedef surface_summary_vector_t::iterator iterator;
42  typedef surface_summary_vector_t::const_iterator const_iterator;
44  typedef surface_summary_vector_t::size_type size_type;
45  public:
51  lane_summary(const size_t lane = 0, const size_t channel_count=0) :
52  stat_summary(channel_count),
53  m_lane(lane),
54  m_tile_count(0)
55  {
56  }
57 
58  public:
65  {
66  INTEROP_BOUNDS_CHECK(n, m_summary_by_surface.size(), "Surface index exceeds surface count");
67  return m_summary_by_surface[n];
68  }
69 
77  {
78  INTEROP_BOUNDS_CHECK(n, m_summary_by_surface.size(), "Surface index exceeds surface count");
79  return m_summary_by_surface[n];
80  }
81 
86  iterator begin()
87  {
88  return m_summary_by_surface.begin();
89  }
90 
95  iterator end()
96  {
97  return m_summary_by_surface.end();
98  }
99 
104  const_iterator begin()const
105  {
106  return m_summary_by_surface.begin();
107  }
108 
113  const_iterator end()const
114  {
115  return m_summary_by_surface.end();
116  }
117 
122  void resize(const size_type n)
123  {
124  m_summary_by_surface.resize(n);
125  }
130  void lane(const size_t val)
131  {
132  m_lane = val;
133  }
138  void tile_count(const size_t val)
139  {
140  m_tile_count = val;
141  }
147  {
148  return m_cycle_state;
149  }
150 
151  public:
167  {
168  INTEROP_BOUNDS_CHECK(n, m_summary_by_surface.size(), "Surface index exceeds surface count");
169  return m_summary_by_surface[n];
170  }
171 
178  const_reference at(const size_type n) const INTEROP_THROW_SPEC((model::index_out_of_bounds_exception))
179  {
180  INTEROP_BOUNDS_CHECK(n, m_summary_by_surface.size(), "Surface index exceeds surface count");
181  return m_summary_by_surface[n];
182  }
187  size_t lane() const
188  {
189  return m_lane;
190  }
195  size_t tile_count() const
196  {
197  return m_tile_count;
198  }
204  {
205  return m_cycle_state;
206  }
211  size_t size() const
212  {
213  return m_summary_by_surface.size();
214  }
217  private:
218  size_t m_lane;
219  size_t m_tile_count;
220  cycle_state_summary m_cycle_state;
221  surface_summary_vector_t m_summary_by_surface;
222  template<class MetricType, int Version>
223  friend struct io::generic_layout;
224  };
225 
226 }}}}
227 
iterator end()
Definition: lane_summary.h:95
const_iterator begin() const
Definition: lane_summary.h:104
size_t size() const
Definition: lane_summary.h:211
void resize(const size_type n)
Definition: lane_summary.h:122
surface_summary & at(const size_t n) INTEROP_THROW_SPEC((model
Definition: lane_summary.h:76
Definition: enum_description.h:15
void lane(const size_t val)
Definition: lane_summary.h:130
cycle_state_summary & cycle_state()
Definition: lane_summary.h:146
Definition: cycle_state_summary.h:18
#define INTEROP_THROW_SPEC(SPEC)
Definition: exception_specification.h:15
surface_summary_vector_t::const_iterator const_iterator
Definition: lane_summary.h:42
iterator begin()
Definition: lane_summary.h:86
const cycle_state_summary & cycle_state() const
Definition: lane_summary.h:203
surface_summary_vector_t::size_type size_type
Definition: lane_summary.h:44
void tile_count(const size_t val)
Definition: lane_summary.h:138
const surface_summary & operator[](const size_t n) const INTEROP_THROW_SPEC((model
Definition: lane_summary.h:166
lane_summary(const size_t lane=0, const size_t channel_count=0)
Definition: lane_summary.h:51
const_iterator end() const
Definition: lane_summary.h:113
size_t lane() const
Definition: lane_summary.h:187
def summary(run_metrics, level='Total', columns=None, dtype='f4', ignore_missing_columns=True, extra)
Definition: core.py:217
Definition: generic_layout.h:24
surface_summary_vector_t::const_reference const_reference
Definition: lane_summary.h:38
metric_stat metric_stat_t
Definition: lane_summary.h:33
surface_summary_vector_t::iterator iterator
Definition: lane_summary.h:40
const_reference at(const size_type n) const INTEROP_THROW_SPEC((model
Definition: lane_summary.h:178
surface_summary_vector_t::reference reference
Definition: lane_summary.h:36
#define INTEROP_BOUNDS_CHECK(VALUE, RANGE, MESSAGE)
Definition: exception.h:24
size_t tile_count() const
Definition: lane_summary.h:195
surface_summary & operator[](const size_t n) INTEROP_THROW_SPEC((model
Definition: lane_summary.h:64