class Poco::HexBinaryDecoderBuf

Overview

This streambuf decodes all hexBinary-encoded data read from the istream connected to it. More…

#include <HexBinaryDecoder.h>

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

    HexBinaryDecoderBuf(std::istream& istr);
};

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 decodes all hexBinary-encoded data read from the istream connected to it.

In hexBinary encoding, each binary octet is encoded as a character tuple, consisting of two hexadecimal digits ([0-9a-fA-F]) representing the octet code. See also: XML Schema Part 2: Datatypes (http://www.w3.org/TR/xmlschema-2/), section 3.2.15.

Note: For performance reasons, the characters are read directly from the given istream’s underlying streambuf, so the state of the istream will not reflect that of its streambuf.