Classes | Functions
vsl_block_binary.cxx File Reference

Set of functions to do binary IO on a block of values. More...

#include <cstddef>
#include <new>
#include <algorithm>
#include <cstdlib>
#include "vsl_block_binary.h"
#include <cassert>

Go to the source code of this file.

Classes

struct  vsl_block_t
 

Functions

vsl_block_t allocate_up_to (std::size_t nbytes)
 
void vsl_block_binary_read_confirm_specialisation (vsl_b_istream &is, bool specialised)
 Error checking. More...
 
template<class T >
void vsl_block_binary_write_float_impl (vsl_b_ostream &os, const T *begin, std::size_t nelems)
 Write a block of floats to a vsl_b_ostream. More...
 
template<class T >
void vsl_block_binary_read_float_impl (vsl_b_istream &is, T *begin, std::size_t nelems)
 Read a block of floats from a vsl_b_ostream. More...
 
template<class T >
void vsl_block_binary_write_int_impl (vsl_b_ostream &os, const T *begin, std::size_t nelems)
 Write a block of signed ints to a vsl_b_ostream. More...
 
template<class T >
void vsl_block_binary_read_int_impl (vsl_b_istream &is, T *begin, std::size_t nelems)
 Read a block of signed ints from a vsl_b_istream. More...
 
template<class T >
void vsl_block_binary_write_byte_impl (vsl_b_ostream &os, const T *begin, std::size_t nelems)
 Write a block of bytes to a vsl_b_ostream. More...
 
template<class T >
void vsl_block_binary_read_byte_impl (vsl_b_istream &is, T *begin, std::size_t nelems)
 Read a block of bytes from a vsl_b_ostream. More...
 
template void vsl_block_binary_write_float_impl (vsl_b_ostream &, const double *, std::size_t)
 
template void vsl_block_binary_write_float_impl (vsl_b_ostream &, const float *, std::size_t)
 
template void vsl_block_binary_read_float_impl (vsl_b_istream &, double *, std::size_t)
 
template void vsl_block_binary_read_float_impl (vsl_b_istream &, float *, std::size_t)
 
template void vsl_block_binary_write_int_impl (vsl_b_ostream &, const long *, std::size_t)
 
template void vsl_block_binary_write_int_impl (vsl_b_ostream &, const unsigned long *, std::size_t)
 
template void vsl_block_binary_write_int_impl (vsl_b_ostream &, const int *, std::size_t)
 
template void vsl_block_binary_write_int_impl (vsl_b_ostream &, const unsigned int *, std::size_t)
 
template void vsl_block_binary_write_int_impl (vsl_b_ostream &, const short *, std::size_t)
 
template void vsl_block_binary_write_int_impl (vsl_b_ostream &, const unsigned short *, std::size_t)
 
template void vsl_block_binary_read_int_impl (vsl_b_istream &, long *, std::size_t)
 
template void vsl_block_binary_read_int_impl (vsl_b_istream &, unsigned long *, std::size_t)
 
template void vsl_block_binary_read_int_impl (vsl_b_istream &, int *, std::size_t)
 
template void vsl_block_binary_read_int_impl (vsl_b_istream &, unsigned int *, std::size_t)
 
template void vsl_block_binary_read_int_impl (vsl_b_istream &, short *, std::size_t)
 
template void vsl_block_binary_read_int_impl (vsl_b_istream &, unsigned short *, std::size_t)
 
template void vsl_block_binary_write_byte_impl (vsl_b_ostream &, const signed char *, std::size_t)
 
template void vsl_block_binary_write_byte_impl (vsl_b_ostream &, const unsigned char *, std::size_t)
 
template void vsl_block_binary_read_byte_impl (vsl_b_istream &, signed char *, std::size_t)
 
template void vsl_block_binary_read_byte_impl (vsl_b_istream &, unsigned char *, std::size_t)
 

Detailed Description

Set of functions to do binary IO on a block of values.

Author
Ian Scott, ISBE Manchester, Feb 2003

Definition in file vsl_block_binary.cxx.

Function Documentation

◆ allocate_up_to()

vsl_block_t allocate_up_to ( std::size_t  nbytes)

Definition at line 23 of file vsl_block_binary.cxx.

◆ vsl_block_binary_read_byte_impl() [1/3]

template<class T >
void vsl_block_binary_read_byte_impl ( vsl_b_istream is,
T *  begin,
std::size_t  nelems 
)

Read a block of bytes from a vsl_b_ostream.

Definition at line 250 of file vsl_block_binary.cxx.

◆ vsl_block_binary_read_byte_impl() [2/3]

template void vsl_block_binary_read_byte_impl ( vsl_b_istream ,
signed char *  ,
std::size_t   
)

◆ vsl_block_binary_read_byte_impl() [3/3]

template void vsl_block_binary_read_byte_impl ( vsl_b_istream ,
unsigned char *  ,
std::size_t   
)

◆ vsl_block_binary_read_confirm_specialisation()

void vsl_block_binary_read_confirm_specialisation ( vsl_b_istream is,
bool  specialised 
)

Error checking.

Definition at line 43 of file vsl_block_binary.cxx.

◆ vsl_block_binary_read_float_impl() [1/3]

template<class T >
void vsl_block_binary_read_float_impl ( vsl_b_istream is,
T *  begin,
std::size_t  nelems 
)

Read a block of floats from a vsl_b_ostream.

Definition at line 92 of file vsl_block_binary.cxx.

◆ vsl_block_binary_read_float_impl() [2/3]

template void vsl_block_binary_read_float_impl ( vsl_b_istream ,
double *  ,
std::size_t   
)

◆ vsl_block_binary_read_float_impl() [3/3]

template void vsl_block_binary_read_float_impl ( vsl_b_istream ,
float *  ,
std::size_t   
)

◆ vsl_block_binary_read_int_impl() [1/7]

template<class T >
void vsl_block_binary_read_int_impl ( vsl_b_istream is,
T *  begin,
std::size_t  nelems 
)

Read a block of signed ints from a vsl_b_istream.

Definition at line 161 of file vsl_block_binary.cxx.

◆ vsl_block_binary_read_int_impl() [2/7]

template void vsl_block_binary_read_int_impl ( vsl_b_istream ,
long *  ,
std::size_t   
)

◆ vsl_block_binary_read_int_impl() [3/7]

template void vsl_block_binary_read_int_impl ( vsl_b_istream ,
unsigned long *  ,
std::size_t   
)

◆ vsl_block_binary_read_int_impl() [4/7]

template void vsl_block_binary_read_int_impl ( vsl_b_istream ,
int *  ,
std::size_t   
)

◆ vsl_block_binary_read_int_impl() [5/7]

template void vsl_block_binary_read_int_impl ( vsl_b_istream ,
unsigned int *  ,
std::size_t   
)

◆ vsl_block_binary_read_int_impl() [6/7]

template void vsl_block_binary_read_int_impl ( vsl_b_istream ,
short *  ,
std::size_t   
)

◆ vsl_block_binary_read_int_impl() [7/7]

template void vsl_block_binary_read_int_impl ( vsl_b_istream ,
unsigned short *  ,
std::size_t   
)

◆ vsl_block_binary_write_byte_impl() [1/3]

template<class T >
void vsl_block_binary_write_byte_impl ( vsl_b_ostream os,
const T *  begin,
std::size_t  nelems 
)

Write a block of bytes to a vsl_b_ostream.

Definition at line 242 of file vsl_block_binary.cxx.

◆ vsl_block_binary_write_byte_impl() [2/3]

template void vsl_block_binary_write_byte_impl ( vsl_b_ostream ,
const signed char *  ,
std::size_t   
)

◆ vsl_block_binary_write_byte_impl() [3/3]

template void vsl_block_binary_write_byte_impl ( vsl_b_ostream ,
const unsigned char *  ,
std::size_t   
)

◆ vsl_block_binary_write_float_impl() [1/3]

template<class T >
void vsl_block_binary_write_float_impl ( vsl_b_ostream os,
const T *  begin,
std::size_t  nelems 
)

Write a block of floats to a vsl_b_ostream.

Definition at line 67 of file vsl_block_binary.cxx.

◆ vsl_block_binary_write_float_impl() [2/3]

template void vsl_block_binary_write_float_impl ( vsl_b_ostream ,
const double *  ,
std::size_t   
)

◆ vsl_block_binary_write_float_impl() [3/3]

template void vsl_block_binary_write_float_impl ( vsl_b_ostream ,
const float *  ,
std::size_t   
)

◆ vsl_block_binary_write_int_impl() [1/7]

template<class T >
void vsl_block_binary_write_int_impl ( vsl_b_ostream os,
const T *  begin,
std::size_t  nelems 
)

Write a block of signed ints to a vsl_b_ostream.

Definition at line 105 of file vsl_block_binary.cxx.

◆ vsl_block_binary_write_int_impl() [2/7]

template void vsl_block_binary_write_int_impl ( vsl_b_ostream ,
const long *  ,
std::size_t   
)

◆ vsl_block_binary_write_int_impl() [3/7]

template void vsl_block_binary_write_int_impl ( vsl_b_ostream ,
const unsigned long *  ,
std::size_t   
)

◆ vsl_block_binary_write_int_impl() [4/7]

template void vsl_block_binary_write_int_impl ( vsl_b_ostream ,
const int *  ,
std::size_t   
)

◆ vsl_block_binary_write_int_impl() [5/7]

template void vsl_block_binary_write_int_impl ( vsl_b_ostream ,
const unsigned int *  ,
std::size_t   
)

◆ vsl_block_binary_write_int_impl() [6/7]

template void vsl_block_binary_write_int_impl ( vsl_b_ostream ,
const short *  ,
std::size_t   
)

◆ vsl_block_binary_write_int_impl() [7/7]

template void vsl_block_binary_write_int_impl ( vsl_b_ostream ,
const unsigned short *  ,
std::size_t   
)