39 #include <boost/archive/iterators/base64_from_binary.hpp>
40 #include <boost/archive/iterators/binary_from_base64.hpp>
41 #include <boost/archive/iterators/transform_width.hpp>
42 #include <boost/iostreams/copy.hpp>
43 #include <boost/iostreams/filter/zlib.hpp>
44 #include <boost/iostreams/filtering_stream.hpp>
45 #include <boost/assign/list_of.hpp>
46 #include <boost/lexical_cast.hpp>
56 #ifndef NEKTAR_VERSION
57 #define NEKTAR_VERSION "Unknown"
62 namespace LibUtilities
73 std::uint8_t data[
sizeof(std::uint32_t)];
76 number.data[0] = 0x00;
77 number.data[1] = 0x01;
78 number.data[2] = 0x02;
79 number.data[3] = 0x03;
91 namespace CompressData
104 return boost::lexical_cast<std::string>(
sizeof(
void*)*8);
111 std::string &base64string)
117 switch (compressedDataString.length() % 3)
120 compressedDataString +=
'\0';
123 compressedDataString +=
'\0';
128 typedef boost::archive::iterators::base64_from_binary<
129 boost::archive::iterators::transform_width<
130 std::string::const_iterator, 6, 8> > base64_t;
131 base64string = std::string(base64_t(compressedDataString.begin()),
132 base64_t(compressedDataString.end()));
139 std::string &compressedDataString)
142 typedef boost::archive::iterators::transform_width<
143 boost::archive::iterators::binary_from_base64<
144 std::string::const_iterator>, 8, 6 > binary_t;
145 compressedDataString = std::string(binary_t(base64string.begin()),
146 binary_t(base64string.end()));
void Base64StrToBinaryStr(std::string &base64string, std::string &compressedDataString)
std::string GetBitSizeStr(void)
void BinaryStrToBase64Str(std::string &compressedDataString, std::string &base64string)
std::string GetCompressString(void)
const std::string EndianTypeMap[]
EndianType Endianness(void)
The above copyright notice and this permission notice shall be included.