metric_format_factory< Metric > Struct Template Reference

#include <metric_format_factory.h>

Public Types

typedef Metric metric_type
 
typedef abstract_metric_format< metric_typeabstract_metric_format_t
 
typedef Metric::header_type header_type
 
typedef stdbp::unique_ptr< abstract_metric_format_tmetric_format_pointer
 

Public Member Functions

typedef INTEROP_UNORDERED_MAP (int, metric_format_pointer) metric_format_map
 
 metric_format_factory (abstract_metric_format_t *pformat)
 

Static Public Member Functions

static metric_format_map & metric_formats ()
 

Detailed Description

template<class Metric>
struct illumina::interop::io::metric_format_factory< Metric >

Factory for generating metric formats

This class defines static methods to register a metric format. The registered metric formats can be accessed through the metric_formats() static function.

Note
this is not thread safe

Member Typedef Documentation

Define the abstract format type

typedef Metric::header_type header_type

Define the header type

Define a unique pointer to a metric format

typedef Metric metric_type

Define the metric type

Constructor & Destructor Documentation

Constructor

This constructor is used to statically register a matric format in a source file.

Member Function Documentation

typedef INTEROP_UNORDERED_MAP ( int  ,
metric_format_pointer   
)

Define a map between format version and the format

static metric_format_map& metric_formats ( )
inlinestatic

Static initialization workaround for member variables

Note
this is not thread safe
Returns
map between version and format

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