| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# iKitchenSink Struct Reference

Interface to interact with a kitchen sink. More...

`#include <iutil/kitchensink.h>`

Inheritance diagram for iKitchenSink:

[legend]
List of all members.

## Public Member Functions
virtual void | Drain ()=0
| Drain the water from the sink.
virtual float | Fill (float amount)=0
| Fill a certain amount of water into the sink.
virtual bool | GetShredderActive ()=0
| Retrieve whether the shredder fitted to the drain was enabled.
virtual void | Insert (iBase *object)=0
| Insert an object in the kitchen sink.
virtual bool | Remove (iBase *object)=0
| Remove an object from the kitchen sink.
virtual void | SetShredderActive (bool enable)=0
| Enable or disable the shredder fitted to the drain.

## Detailed Description

Interface to interact with a kitchen sink.

Todo:
  Iterator for contained objects.

Definition at line 33 of file kitchensink.h.

## Member Function Documentation

virtual void iKitchenSink::Drain | ( |  | ) | `[pure virtual]`

Drain the water from the sink.

Warning:
  If small objects were inserted, they might get flushed away and (if a shredder is present and enabled) shredded.

virtual float iKitchenSink::Fill | ( | float | amount | ) | `[pure virtual]`

Fill a certain amount of water into the sink.

Parameters:

  | amount | Amount of water in relation to the complete volume of the sink.

Remarks:
  You cannot use negative amounts to drain water; use Drain() instead.

  Multiple calls to Fill() with a summed amount greater than 1 should not cause an overflow.

virtual bool iKitchenSink::GetShredderActive | ( |  | ) | `[pure virtual]`

Retrieve whether the shredder fitted to the drain was enabled.

virtual void iKitchenSink::Insert | ( | iBase * | object | ) | `[pure virtual]`

Insert an object in the kitchen sink.

virtual bool iKitchenSink::Remove | ( | iBase * | object | ) | `[pure virtual]`

Remove an object from the kitchen sink.

Returns:
  Whether the removal succeeded. Failure usually means that it wasn't in the sink in first place.

virtual void iKitchenSink::SetShredderActive | ( | bool | enable | ) | `[pure virtual]`

Enable or disable the shredder fitted to the drain.

Remarks:
  May only work in American implementations.

The documentation for this struct was generated from the following file:

- iutil/kitchensink.h