OpenMS
|
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 | |
default constructor More... | |
Static Public Member Functions | |
template<typename FromType > | |
static 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 > | |
static 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 > | |
static 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 > | |
static 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... | |
static void | encodeStrings (const std::vector< String > &in, String &out, bool zlib_compression=false, bool append_null_byte=true) |
Encodes a vector of strings to a Base64 string. More... | |
static 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... | |
static void | decodeSingleString (const String &in, QByteArray &base64_uncompressed, bool zlib_compression) |
Decodes a Base64 string to a QByteArray. More... | |
Static Private Member Functions | |
template<typename ToType > | |
static 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 > | |
static 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 > | |
static 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 > | |
static 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 void | stringSimdEncoder_ (std::string &in, std::string &out) |
static void | stringSimdDecoder_ (const std::string &in, std::string &out) |
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).
union OpenMS::Base64::Reinterpreter32_ |
union OpenMS::Base64::Reinterpreter64_ |
enum ByteOrder |
|
default |
default constructor
|
static |
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.
References Base64::decodeCompressed_(), and Base64::decodeUncompressed_().
|
staticprivate |
Decodes a compressed Base64 string to a vector of floating point numbers.
References Base64::BYTEORDER_BIGENDIAN, Base64::BYTEORDER_LITTLEENDIAN, OPENMS_IS_BIG_ENDIAN, and Base64::stringSimdDecoder_().
Referenced by Base64::decode().
|
static |
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.
References Base64::decodeIntegersCompressed_(), and Base64::decodeIntegersUncompressed_().
|
staticprivate |
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().
|
staticprivate |
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().
|
static |
|
static |
|
staticprivate |
Decodes a Base64 string to a vector of floating point numbers.
References Base64::BYTEORDER_BIGENDIAN, Base64::BYTEORDER_LITTLEENDIAN, OPENMS_IS_BIG_ENDIAN, and Base64::stringSimdDecoder_().
Referenced by Base64::decode().
|
static |
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, ZlibCompression::compressData(), OpenMS::endianize32(), OpenMS::endianize64(), Base64::Reinterpreter64_::f, Base64::Reinterpreter32_::f, Base64::Reinterpreter64_::i, Base64::Reinterpreter32_::i, OPENMS_IS_BIG_ENDIAN, and Base64::stringSimdEncoder_().
|
static |
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, ZlibCompression::compressData(), OpenMS::endianize32(), OpenMS::endianize64(), OPENMS_IS_BIG_ENDIAN, and Base64::stringSimdEncoder_().
|
static |
Encodes a vector of strings to a Base64 string.
You can specify zlib-compression.
in | A vector of data to be encoded (String) |
out | A String containing the Base64 encoded data |
zlib_compression | Whether the data should be compressed with zlib before encoding in Base64 |
append_null_byte | Whether a null-byte should be appended after each of the Strings contained in the in vector |
|
staticprivate |
Referenced by Base64::decodeCompressed_(), and Base64::decodeUncompressed_().
|
staticprivate |
Referenced by Base64::encode(), and Base64::encodeIntegers().
|
staticprivate |
Referenced by Base64::decodeIntegersUncompressed_().
|
staticprivate |