# Pipable

## Description

A Pipable Filter can appear as a component of a pipline.

Certian overloads of `operator|` must be defined to make a Filter Pipable; this is achieved by invoking the macro `BOOST_IOSTREAMS_PIPABLE`.

## Refinement of

Filter.

## Associated Types

Same as Filter.

## Notation

`P` | - | A type which is a model of Pipable
`C` | - | A type which is a model of Filter or Device and which is CopyConstructible[1]
`p` | - | Object of type `P`
`c` | - | Object of type `C`

## Valid Expressions / Semantics

Expression | Expression Type | Semantics
--- | --- | ---
    f | c
| implementation-defined | Returns a pipeline corresponding to the sequence `f`, `c`

## Exceptions

None.

## Models

- All the Filters provided by the Iostreams library.

[1]This requirement prevents streams and stream buffers from appearing in pipelines without the use of reference wrappers. This restriction may be removed in a future version of the Iostreams library.

Revised 20 May, 2004

© Copyright Jonathan Turkanis, 2004

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)