so i ended up not using the operator but rather copying the output of the base64decoder to a stream and then getting a string from that:
istringstream istr(str);
ostringstream ostr;
Poco::Base64Decoder b64in(istr);
copy(std::istreambuf_iterator<char>(b64in),
std::istreambuf_iterator<char>(),
std::ostreambuf_iterator<char>(ostr));
cout << ostr.str(); // returns full decoded output