map_io.h File Reference

Go to the source code of this file.

Classes

struct  read_array_helper< ReadType, ValueType, SameSize >
 
struct  read_array_helper< ReadType, ValueType, true >
 

Namespaces

 illumina
 
 illumina::interop
 
 illumina::interop::io
 

Functions

template<typename Source , typename Destination >
void copy_from (std::ostream &, const Source &, const Destination &)
 
template<typename Source , typename Destination >
void copy_from (std::istream &, Destination &dst, const Source &src)
 
template<typename Source , typename Destination >
void copy_from (const char *, Destination &dst, const Source &src)
 
template<typename ReadType , typename ValueType >
std::streamsize stream_map (std::istream &in, ValueType &val)
 
template<typename ReadType , typename ValueType >
std::streamsize stream_map (char *&in, ValueType &val)
 
std::streamsize stream_map (std::istream &in, std::string &val)
 
std::streamsize stream_map (char *&in, std::string &val)
 
template<typename ReadType , typename ValueType >
std::streamsize stream_map (std::istream &in, std::vector< ValueType > &vals, const size_t n)
 
template<typename ReadType , typename ValueType >
std::streamsize stream_map (char *&in, std::vector< ValueType > &vals, const size_t n)
 
template<typename ReadType , typename ValueType >
std::streamsize padded_stream_map (std::istream &in, std::vector< ValueType > &vals, const size_t n, const ReadType)
 
template<typename ReadType , typename ValueType >
std::streamsize padded_stream_map (char *&in, std::vector< ValueType > &vals, const size_t n, const ReadType)
 
template<typename ReadType , typename ValueType >
std::streamsize stream_map (std::istream &in, std::vector< ValueType > &vals, const size_t offset, const size_t n)
 
template<typename ReadType , typename ValueType >
std::streamsize stream_map (char *&in, std::vector< ValueType > &vals, const size_t offset, const size_t n)
 
template<typename ReadType , typename ValueType , size_t N>
std::streamsize stream_map (std::istream &in, ValueType(&vals)[N], const size_t n)
 
template<typename ReadType , typename ValueType , size_t N>
std::streamsize stream_map (char *&in, ValueType(&vals)[N], const size_t n)
 
template<typename WriteType , typename ValueType >
std::streamsize stream_map (std::ostream &out, const ValueType val)
 
std::streamsize stream_map (std::ostream &out, const std::string &str)
 
template<typename WriteType , typename ValueType >
std::streamsize stream_map (std::ostream &out, const ValueType &vals, const size_t n)
 
template<typename WriteType , typename ValueType >
std::streamsize padded_stream_map (std::ostream &out, const ValueType &vals, const size_t n, const WriteType pad)
 
template<typename WriteType , typename ValueType >
std::streamsize stream_map (std::ostream &out, const ValueType &vals, const size_t offset, const size_t n)
 
template<typename Layout >
void map_resize (const Layout &, size_t)
 
template<typename Layout >
void map_resize (Layout &layout, const size_t n)
 

Detailed Description

Define a generic mapping to I/O and copying values

This generic stream_map, copy_from and map_resize method conditionally determine whether values are read from or written to a stream, copied or resized.

This allows the user to specify a single mapping in a single function, rather than defining a copy from layout to metric and then another function copying metric to layout. This greatly reduces the amount of code necessary to define an InterOp layout.

Date
10/28/15
Version
1.0