Boost logo

Boost Users :

From: Robert Ramey (ramey_at_[hidden])
Date: 2008-08-26 16:00:41


Any existing documentation will be found in the serialization library under Dataflow iterators.

This problem has been reported. I haven't found the time to investigate the best way to fix it.

Note that there are tests in the serialization library for this facility and all the dataflow iterators.
Investigating these might shed some light on things.

RObert Ramey
  "Terdale, Shantibhushan" <STerdale_at_[hidden]> wrote in message news:FE4737CD2D9ABF40880815104A1A2BF301F20188_at_MAIL-BE-IN02.nsicorp.nsi.local...
  Is there any possibility that we can extend this and use it for any data?

  Also does anyone know where is the documentation for both transform_width and base64 iterator where I can find their usage? I struggled a lot to get this example working.

------------------------------------------------------------------------------
  From: boost-users-bounces_at_[hidden] [mailto:boost-users-bounces_at_[hidden]] On Behalf Of Eames, Andrew
  Sent: Tuesday, August 26, 2008 1:48 PM
  To: boost-users_at_[hidden]
  Subject: Re: [Boost-users] base64_from_binary Q

  I reported this problem a few months ago - apparently it is a feature that this only works on input data that is a multiple of 3 bytes long

    Andrew

   

  From: boost-users-bounces_at_[hidden] [mailto:boost-users-bounces_at_[hidden]] On Behalf Of Terdale, Shantibhushan
  Sent: Tuesday, August 26, 2008 12:16 PM
  To: boost-users_at_[hidden]
  Subject: [Boost-users] base64_from_binary Q

   

  I am using this sample to prove myself that base64_from_binary and binary_from_base64 can be used in my app. But I am having little problem and not able to understand whats missing

   

  Here is the sample

   

  #include "boost/archive/iterators/base64_from_binary.hpp"

  #include "boost/archive/iterators/binary_from_base64.hpp"

  #include "boost/archive/iterators/transform_width.hpp"

  #include <string>

  #include <iostream>

  using namespace std;

  using namespace boost::archive::iterators;

  typedef

  base64_from_binary<

  transform_width<std::string::iterator, 6, sizeof(char) * 8>

> base64_t;

  typedef

  transform_width<

  binary_from_base64<std::string::iterator>, sizeof(char) * 8, 6

> binary_t;

  int main()

  {

  string str = "Hello, world!";

  cout << str << endl;

  string enc(base64_t(str.begin()), base64_t(str.end())); // Problem here. It works when I specify "str.end()-1" instead of "str.end()" but I loose last character after decoding.

  cout << enc << endl;

  string dec(binary_t(enc.begin()), binary_t(enc.end()));

  cout << dec << endl;

  return 0;

  }

  Will appreciate any help. I tried std::copy as well and have same problem.

   

   

   

------------------------------------------------------------------------------

  _______________________________________________
  Boost-users mailing list
  Boost-users_at_[hidden]
  http://lists.boost.org/mailman/listinfo.cgi/boost-users



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net