24#ifndef _BINARYDATAENCODER_HPP_
25#define _BINARYDATAENCODER_HPP_
30#include "boost/shared_ptr.hpp"
50 enum ByteOrder {ByteOrder_LittleEndian, ByteOrder_BigEndian};
52 enum Numpress {Numpress_None, Numpress_Linear, Numpress_Pic, Numpress_Slof};
70 : precision(Precision_64),
71 byteOrder(ByteOrder_LittleEndian),
72 compression(Compression_None),
73 numpress(Numpress_None),
74 numpressFixedPoint(0.0),
77 numpressLinearAbsMassAcc(-1.0)
86 void encode(
const std::vector<double>& data, std::string& result,
size_t* binaryByteCount = NULL)
const;
89 void encode(
const double* data,
size_t dataSize, std::string& result,
size_t* binaryByteCount = NULL)
const;
95 decode(encodedData.c_str(),encodedData.length(),result);
void decode(const char *encodedData, size_t len, pwiz::util::BinaryData< double > &result) const
decode text-encoded data as binary
BinaryDataEncoder(const Config &config=Config())
void decode(const std::string &encodedData, pwiz::util::BinaryData< double > &result) const
BinaryDataEncoder & operator=(const BinaryDataEncoder &)
void encode(const std::vector< double > &data, std::string &result, size_t *binaryByteCount=NULL) const
encode binary data as a text string
boost::shared_ptr< Impl > impl_
const Config & getConfig() const
BinaryDataEncoder(const BinaryDataEncoder &)
void encode(const double *data, size_t dataSize, std::string &result, size_t *binaryByteCount=NULL) const
encode binary data as a text string
A custom vector class that can store its contents in either a std::vector or a cli::array (when compi...
std::ostream & operator<<(std::ostream &os, const Diff< object_type, config_type > &diff)
stream insertion of Diff results
const double BinaryDataEncoder_default_numpressPicErrorTolerance
const double BinaryDataEncoder_default_numpressSlofErrorTolerance
const double BinaryDataEncoder_default_numpressLinearErrorTolerance
encoding/decoding configuration
double numpressLinearAbsMassAcc
double numpressFixedPoint
std::map< cv::CVID, Precision > precisionOverrides
std::map< cv::CVID, Numpress > numpressOverrides
double numpressSlofErrorTolerance
double numpressLinearErrorTolerance