I have a code base with just one use of boost, which decodes 64bit data... it's very old code and I do not know what expected inputs or outputs look like, but if I can remove dependency on boost I'd like to:
#include <boost/archive/iterators/binary_from_base64.hpp>
#include <boost/archive/iterators/transform_width.hpp>
namespace ai = boost::archive::iterators;
typedef ai::transform_width< ai::binary_from_base64<std::string::const_iterator >, 8, 6 > It;
void base64_to_byte(const std::string& in, std::vector<char>& out)
{
out.assign(It(in.begin()), It(in.end()));
}
It
and all this template-driven approach is something I'm struggling to get my head around, is this an area of Boost which
has a direct C++14/17/20 parallel? What is it doing?
I can't even find documentation for it on https://www.boost.org/doc/libs/1_76_0, archive
isn't listed as a library?
(If there is not an easy replacement, I will not make changes)