Class to encode and decode Base64. More...
#include <OpenMS/FORMAT/Base64.h>
Classes | |
union | Reinterpreter32_ |
Internal class needed for type-punning. More... | |
union | Reinterpreter64_ |
Internal class needed for type-punning. More... | |
Public Types | |
enum | ByteOrder { BYTEORDER_BIGENDIAN, BYTEORDER_LITTLEENDIAN } |
Byte order type. More... | |
Public Member Functions | |
Base64 () | |
default constructor More... | |
virtual | ~Base64 () |
Destructor. More... | |
template<typename FromType > | |
void | encode (std::vector< FromType > &in, ByteOrder to_byte_order, String &out, bool zlib_compression=false) |
Encodes a vector of floating point numbers to a Base64 string. More... | |
template<typename ToType > | |
void | decode (const String &in, ByteOrder from_byte_order, std::vector< ToType > &out, bool zlib_compression=false) |
Decodes a Base64 string to a vector of floating point numbers. More... | |
template<typename FromType > | |
void | encodeIntegers (std::vector< FromType > &in, ByteOrder to_byte_order, String &out, bool zlib_compression=false) |
Encodes a vector of integer point numbers to a Base64 string. More... | |
template<typename ToType > | |
void | decodeIntegers (const String &in, ByteOrder from_byte_order, std::vector< ToType > &out, bool zlib_compression=false) |
Decodes a Base64 string to a vector of integer numbers. More... | |
void | encodeStrings (std::vector< String > &in, String &out, bool zlib_compression=false) |
Encodes a vector of strings to a Base64 string. More... | |
void | decodeStrings (const String &in, std::vector< String > &out, bool zlib_compression=false) |
Decodes a Base64 string to a vector of (null-terminated) strings. More... | |
Private Member Functions | |
template<typename ToType > | |
void | decodeUncompressed_ (const String &in, ByteOrder from_byte_order, std::vector< ToType > &out) |
Decodes a Base64 string to a vector of floating point numbers. More... | |
template<typename ToType > | |
void | decodeCompressed_ (const String &in, ByteOrder from_byte_order, std::vector< ToType > &out) |
Decodes a compressed Base64 string to a vector of floating point numbers. More... | |
template<typename ToType > | |
void | decodeIntegersUncompressed_ (const String &in, ByteOrder from_byte_order, std::vector< ToType > &out) |
Decodes a Base64 string to a vector of integer numbers. More... | |
template<typename ToType > | |
void | decodeIntegersCompressed_ (const String &in, ByteOrder from_byte_order, std::vector< ToType > &out) |
Decodes a compressed Base64 string to a vector of integer numbers. More... | |
Static Private Attributes | |
static const char | encoder_ [] |
static const char | decoder_ [] |
Class to encode and decode Base64.
Base64 supports two precisions: 32 bit (float) and 64 bit (double).
enum ByteOrder |
Base64 | ( | ) |
default constructor
|
virtual |
Destructor.
void decode | ( | const String & | in, |
ByteOrder | from_byte_order, | ||
std::vector< ToType > & | out, | ||
bool | zlib_compression = false |
||
) |
Decodes a Base64 string to a vector of floating point numbers.
You have to specify the byte order of the input and if it is zlib-compressed.
in
will be empty after this method References Base64::decodeCompressed_(), and Base64::decodeUncompressed_().
|
private |
Decodes a compressed Base64 string to a vector of floating point numbers.
References Base64::BYTEORDER_BIGENDIAN, Base64::BYTEORDER_LITTLEENDIAN, OpenMS::endianize32(), OpenMS::endianize64(), and OPENMS_IS_BIG_ENDIAN.
Referenced by Base64::decode().
void decodeIntegers | ( | const String & | in, |
ByteOrder | from_byte_order, | ||
std::vector< ToType > & | out, | ||
bool | zlib_compression = false |
||
) |
Decodes a Base64 string to a vector of integer numbers.
You have to specify the byte order of the input and if it is zlib-compressed.
in
will be empty after this method References Base64::decodeIntegersCompressed_(), and Base64::decodeIntegersUncompressed_().
|
private |
Decodes a compressed Base64 string to a vector of integer numbers.
References Base64::BYTEORDER_BIGENDIAN, Base64::BYTEORDER_LITTLEENDIAN, OpenMS::endianize32(), OpenMS::endianize64(), and OPENMS_IS_BIG_ENDIAN.
Referenced by Base64::decodeIntegers().
|
private |
Decodes a Base64 string to a vector of integer numbers.
References Base64::BYTEORDER_BIGENDIAN, Base64::BYTEORDER_LITTLEENDIAN, Base64::decoder_, and OPENMS_IS_BIG_ENDIAN.
Referenced by Base64::decodeIntegers().
|
private |
Decodes a Base64 string to a vector of floating point numbers.
References Base64::BYTEORDER_BIGENDIAN, Base64::BYTEORDER_LITTLEENDIAN, Base64::decoder_, and OPENMS_IS_BIG_ENDIAN.
Referenced by Base64::decode().
void encode | ( | std::vector< FromType > & | in, |
ByteOrder | to_byte_order, | ||
String & | out, | ||
bool | zlib_compression = false |
||
) |
Encodes a vector of floating point numbers to a Base64 string.
You can specify the byte order of the output and if it is zlib-compressed.
in
will be empty after this method References Base64::BYTEORDER_BIGENDIAN, Base64::BYTEORDER_LITTLEENDIAN, Base64::encoder_, OpenMS::endianize32(), OpenMS::endianize64(), Base64::Reinterpreter64_::f, Base64::Reinterpreter32_::f, Base64::Reinterpreter64_::i, Base64::Reinterpreter32_::i, and OPENMS_IS_BIG_ENDIAN.
Referenced by MzDataHandler< MapType >::writeBinary_().
void encodeIntegers | ( | std::vector< FromType > & | in, |
ByteOrder | to_byte_order, | ||
String & | out, | ||
bool | zlib_compression = false |
||
) |
Encodes a vector of integer point numbers to a Base64 string.
You can specify the byte order of the output and if it is zlib-compressed.
in
will be empty after this method References Base64::BYTEORDER_BIGENDIAN, Base64::BYTEORDER_LITTLEENDIAN, Base64::encoder_, OpenMS::endianize32(), OpenMS::endianize64(), and OPENMS_IS_BIG_ENDIAN.
Encodes a vector of strings to a Base64 string.
You can specify zlib-compression.
in
will be empty after this method
|
staticprivate |
Referenced by Base64::decodeIntegersUncompressed_(), and Base64::decodeUncompressed_().
|
staticprivate |
Referenced by Base64::encode(), and Base64::encodeIntegers().
OpenMS / TOPP release 1.11.1 | Documentation generated on Thu Nov 14 2013 11:19:30 using doxygen 1.8.5 |