---
name: "iquotedprintablestream"
section: "3bobcat"
platform: "linux"
package: "libbobcat-dev"
version: "6.07.01-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/iquotedprintablestream"
---

# iquotedprintablestream(3bobcat)

Std::istream performing quoted-printable encoding and decoding

## NAME

FBB::IQuotedPrintableStream - Std::istream performing quoted-printable encoding and decoding

## SYNOPSIS

**#include \<bobcat/iquotedprintablestream\>**\
 Linking option: *-lbobcat*

## DESCRIPTION

**FBB::IQuotedPrintableStream** objects may be used to quoted-printable encode or decode information that is available on a separate *std::istream*.

The *class IQuotedPrintableStream* is a class template, using a *FBB::CodeType* template non-type parameter. Objects of the class *FBB::IQuotedPrintableStream\<FBB::ENCODE\>* encode the information they receive, objects of the class *FBB::IQuotedPrintableStream\<FBB::DECODE\>* decode the information they receive.

## NAMESPACE

**FBB**\
 All constructors, members, operators and manipulators, mentioned in this man-page, are defined in the namespace **FBB**.

## INHERITS FROM

**FBB::IQuotedPrintableBuf** (private), \
 **std::istream**

## CONSTRUCTORS

- o

  **IQuotedPrintableStream\<CodeType\>(std::istream &in, size\_t bufSize =** **1000)**:\
   This constructor initializes a *std::istream* providing it with an **FBB::IQuotedPrintableBuf** stream buffer. The **IQuotedPrintableBuf**’s constructor receives all arguments that are passed to this constructor.

-

  \- *IQuotedPrintableStream\<ENCODE\>* objects perform quoted printable encodi ng;\
   \- *IQuotedPrintableStream\<DECODE\>* objects perform quoted printable decoding;\
   \- *IQuotedPrintableStream\<CodeType\>* objects obtain the bytes to encode or decode from *std::istream &in*;\
   \- The internally used *IFilterBuf* is initialized with a buffer of size *bufSize*, using a lower bound of 100.

-

  The constructor uses a configurable buffer size for reading. Characters that were read into the buffer but are not part of the actual quoted printable encoded data are unavailable after completing the quoted printable decoding. If information beyond the quoted printable input block should remain available, then specify a buffer size of 1.

Copy and move constructors (and assignment operators) are not available.

## INHERITED MEMBERS

Since the class uses public derivation from **std::istream**, all members of this class can be used.

## EXAMPLE

```
#include <iostream>
#include <bobcat/iquotedprintablestream>
using namespace std;
using namespace FBB;
int main()
{
    IQuotedPrintableStream<ENCODE> in(cin);
    cout << in.rdbuf();         // quoted printable encode the info on
                                // cin.
}
```

See also the example in the [**iquotedprintablebuf**(3bobcat)](/iquotedprintablebuf/3bobcat.md) man-page.

## FILES

*bobcat/iquoted printablestream* - defines the class interface

## SEE ALSO

[**bobcat**(7)](/bobcat/7.md), [**iquotedprintablebuf**(3bobcat)](/iquotedprintablebuf/3bobcat.md)

## BUGS

None Reported.

## BOBCAT PROJECT FILES

- o

  *https://fbb-git.gitlab.io/bobcat/*: gitlab project page;

Debian Bobcat project files:

- o

  *libbobcat6*: debian package containing the shared library, changelog and copyright note;

- o

  *libbobcat-dev*: debian package containing the static library, headers, manual pages, and developer info;

## BOBCAT

Bobcat is an acronym of \`Brokken’s Own Base Classes And Templates’.

## COPYRIGHT

This is free software, distributed under the terms of the GNU General Public License (GPL).

## AUTHOR

Frank B. Brokken (**f.b.brokken@rug.nl**).
