1 #ifndef BOOST_ARCHIVE_ITERATORS_BINARY_FROM_BASE32HEX_HPP
2 #define BOOST_ARCHIVE_ITERATORS_BINARY_FROM_BASE32HEX_HPP
19 #include <boost/archive/iterators/binary_from_base64.hpp>
32 template<
class CharType>
36 const signed char lookup_table[] = {
37 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
38 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
39 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
40 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,-1,-1,-1,-1,-1,-1,
41 -1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,
42 25,26,27,28,29,30,31,-1,-1,-1,-1,-1,-1,-1,-1,-1,
43 -1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,
44 25,26,27,28,29,30,31,-1,-1,-1,-1,-1,-1,-1,-1,-1
46 BOOST_STATIC_ASSERT(0x80 ==
sizeof(lookup_table));
47 signed char value = -1;
48 if((
unsigned)t <
sizeof(lookup_table))
49 value = lookup_table[(unsigned)t];
52 "attempt to decode a value not in base32hex char set");
75 class CharType = BOOST_DEDUCED_TYPENAME boost::iterator_value<Base>::type
79 detail::to_5_bit<CharType>,
84 typedef transform_iterator<
93 Base(static_cast<T>(start)),
94 detail::to_5_bit<CharType>()
100 Base(rhs.base_reference()),
101 detail::to_5_bit<CharType>()
111 #endif // BOOST_ARCHIVE_ITERATORS_BINARY_FROM_BASE32HEX_HPP
binary_from_base32hex(const binary_from_base32hex &rhs)
binary_from_base32hex(T start)
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
A generic exception that is thrown if a parameter given to a method is considered invalid in that con...
friend class boost::iterator_core_access
CharType operator()(CharType t) const