generic_layout< index_metric, 2 > Struct Template Reference
Inheritance diagram for generic_layout< index_metric, 2 >:
default_layout< 2, 1 >

Public Types

enum  { BYTE_COUNT = 1, RECORD_SIZE = sizeof(metric_id_t) + BYTE_COUNT }
 
typedef layout::base_read_metric< ::uint32_t > metric_id_t
 
typedef void * header_t
 
typedef ::uint64_t cluster_count_t
 
- Public Types inherited from default_layout< 2, 1 >
enum  
 
typedef ::uint8_t record_size_t
 
typedef ::uint8_t version_t
 

Static Public Member Functions

template<class Metric , class Header >
static std::streamsize map_stream (std::istream &in, Metric &metric, Header &, const bool)
 
template<class Metric , class Header >
static std::streamsize map_stream (std::ostream &out, Metric &metric, Header &, const bool)
 
template<class Metric , class Header >
static std::streamsize map_stream (const char *, const Metric &, const Header &, const bool)
 
static record_size_t compute_size (const index_metric::header_type &)
 
static size_t compute_header_size (const index_metric::header_type &)
 
template<class Stream >
static record_size_t map_stream_record_size (Stream &, record_size_t)
 
static size_t compute_buffer_size (const model::metric_base::metric_set< index_metric > &metric_set)
 
- Static Public Member Functions inherited from default_layout< 2, 1 >
static std::streamsize map_stream_for_header (Stream &, Header &)
 
static RecordSize map_stream_record_size (Stream &stream, RecordSize record_size)
 
static bool skip_metric (const Metric &metric)
 
static bool is_valid (const LayoutId &id)
 

Detailed Description

template<>
struct illumina::interop::io::generic_layout< index_metric, 2 >

Index Metric Record Layout Version 2

This class provides an interface to reading the index metric file:

  • InterOp/IndexMetrics.bin
  • InterOp/IndexMetricsOut.bin

The class takes two template arguments:

 1. Metric Type: index_metric
 2. Version: 2

Member Typedef Documentation

typedef ::uint64_t cluster_count_t

No record size is required for this stream

typedef void* header_t

Defines an empty header

typedef layout::base_read_metric< ::uint32_t> metric_id_t

Metric ID type

Member Enumeration Documentation

anonymous enum
Enumerator
BYTE_COUNT 
RECORD_SIZE 

Member Function Documentation

static size_t compute_buffer_size ( const model::metric_base::metric_set< index_metric > &  metric_set)
inlinestatic

Compute the buffer size

Parameters
metric_setset of metrics
Returns
buffer size for entire metric set
static size_t compute_header_size ( const index_metric::header_type )
inlinestatic

Compute header size

Returns
header size
static record_size_t compute_size ( const index_metric::header_type )
inlinestatic

Compute the layout size

Note
The size of the record is not known ahead of time, so we just return 1.
Returns
sentinel
static std::streamsize map_stream ( std::istream &  in,
Metric &  metric,
Header &  ,
const bool   
)
inlinestatic

Read metric from the input stream

Parameters
ininput stream
metricdestination metric
Returns
sentinel
static std::streamsize map_stream ( std::ostream &  out,
Metric &  metric,
Header &  ,
const bool   
)
inlinestatic

Write metric to the output stream

Parameters
outoutput stream
metricsource metric
Returns
sentinel
static std::streamsize map_stream ( const char *  ,
const Metric &  ,
const Header &  ,
const bool   
)
inlinestatic

Throws an unimplemented error

static record_size_t map_stream_record_size ( Stream &  ,
record_size_t   
)
inlinestatic

Skip reading/writing record size to this file

Returns
sentinel

The documentation for this struct was generated from the following file: