class Poco::Base64EncoderBuf

Overview

This streambuf base64-encodes all data written to it and forwards it to a connected ostream. More…

#include <Base64Encoder.h>

class Base64EncoderBuf: public Poco::BasicUnbufferedStreamBuf
{
public:
    // construction

    Base64EncoderBuf(std::ostream& ostr);

    // methods

    int
    close();

    void
    setLineLength(int lineLength);

    int
    getLineLength() const;
};

Inherited Members

public:
    // methods

    virtual
    int_type
    overflow(int_type c);

    virtual
    int_type
    underflow();

    virtual
    int_type
    uflow();

    virtual
    int_type
    pbackfail(int_type c);

    virtual
    std::streamsize
    xsgetn(
        char_type* p,
        std::streamsize count
        );

protected:
    // typedefs

    typedef std::basic_streambuf<ch, tr> Base;
    typedef std::basic_ios<ch, tr> IOS;
    typedef ch char_type;
    typedef tr char_traits;
    typedef Base::int_type int_type;
    typedef Base::pos_type pos_type;
    typedef Base::off_type off_type;
    typedef IOS::openmode openmode;

    // methods

    static
    int_type
    charToInt(char_type c);

Detailed Documentation

This streambuf base64-encodes all data written to it and forwards it to a connected ostream.

Note: The characters are directly written to the ostream’s streambuf, thus bypassing the ostream. The ostream’s state is therefore not updated to match the buffer’s state.

Methods

int
close()

Closes the stream buffer.

void
setLineLength(int lineLength)

Specify the line length.

After the given number of characters have been written, a newline character will be written.

Specify 0 for an unlimited line length.

int
getLineLength() const

Returns the currently set line length.