2018-06-09 02:44:03 +02:00
|
|
|
#ifndef LZW_SRC_BITPACK_H_
|
|
|
|
#define LZW_SRC_BITPACK_H_
|
|
|
|
|
|
|
|
#include <cstdint>
|
2018-06-10 21:21:06 +02:00
|
|
|
#include <string>
|
2018-06-09 02:44:03 +02:00
|
|
|
#include <vector>
|
|
|
|
|
2018-06-11 21:26:05 +02:00
|
|
|
std::vector<unsigned char> pack(const std::vector<std::uint16_t> &);
|
2018-06-09 22:59:11 +02:00
|
|
|
|
2018-06-21 17:38:51 +02:00
|
|
|
std::vector<unsigned char> pack_n(std::vector<std::uint16_t>::const_iterator,
|
|
|
|
std::vector<std::uint16_t>::const_iterator,
|
|
|
|
std::vector<unsigned char> &, int);
|
2018-06-09 02:44:03 +02:00
|
|
|
|
2018-06-21 17:38:51 +02:00
|
|
|
std::vector<unsigned char> pack_16(std::vector<std::uint16_t>::const_iterator,
|
|
|
|
std::vector<std::uint16_t>::const_iterator,
|
|
|
|
std::vector<unsigned char> &);
|
2018-06-09 02:44:03 +02:00
|
|
|
|
2018-06-11 21:26:05 +02:00
|
|
|
std::vector<std::uint16_t> unpack(std::basic_string<unsigned char> &&);
|
2018-06-09 22:59:11 +02:00
|
|
|
|
2018-06-11 21:26:05 +02:00
|
|
|
std::vector<std::uint16_t>
|
2018-06-17 06:38:57 +02:00
|
|
|
unpack_n(std::basic_string<unsigned char>::const_iterator t_begin,
|
2018-06-21 17:38:51 +02:00
|
|
|
std::basic_string<unsigned char>::const_iterator t_end,
|
|
|
|
std::vector<std::uint16_t> &, int t_n);
|
2018-06-09 22:59:11 +02:00
|
|
|
|
2018-06-11 21:26:05 +02:00
|
|
|
std::vector<std::uint16_t>
|
2018-06-17 06:38:57 +02:00
|
|
|
unpack_16(std::basic_string<unsigned char>::const_iterator,
|
2018-06-21 17:38:51 +02:00
|
|
|
std::basic_string<unsigned char>::const_iterator,
|
|
|
|
std::vector<std::uint16_t> &);
|
2018-06-09 03:18:28 +02:00
|
|
|
|
2018-06-09 02:44:03 +02:00
|
|
|
#endif /* LZW_SRC_BITPACK_H_ */
|