# FilterBody

[req.filter_body]

A type Body should meet one of the following requirements depending on the filter type:

MiddleFilterBody Requirements: Pseudo-Signature, Semantics

OutputType Body::operator()(InputType item) const

  Processes the received item and then returns it.

FirstFilterBody Requirements: Pseudo-Signature, Semantics

OutputType Body::operator()(oneapi::tbb::flow_control &fc) const

  Returns the next item from an input stream. Calls `fc.stop()` at the end of an input stream.

LastFilterBody Requirements: Pseudo-Signature, Semantics

void Body::operator()(InputType item) const

  Processes the received item.

SingleFilterBody Requirements: Pseudo-Signature, Semantics

void Body::operator()(oneapi::tbb::flow_control &fc) const

  Processes an element from an input stream. Calls `fc.stop()` at the end of an input stream.

See also:

- filter class