NAME

Net::Radio::oFono::Helpers::Container - simple container providing typical container functions

DESCRIPTION

This package implements a class which will act as a container for items of any type. The container can be forced to accept only classes of a specific type.

INHERITANCE

Net::Radio::oFono::Helpers::Container

METHODS

new

Instantiates a new container object.

Parameters:

All parameters are optional.

array-ref

Reference to an array for managing items. Use with caution, it can be dangerous when two containers access the same list.

class-name

Name of classes to restrict the type which can be added. Adding items which are not of specified type (or derived), an exception is thrown via Assert.

add

Adds a new item to the container.

Parameters:

item

List of items to add to the container.

remove

Removes an item from the container.

Parameters:

item

Item to remove from the container.

Returns:

The removed element in scalar mode and and array containing the removed element at position 0 and it's index in the managed list at index 1 in array mode.

contains

Returns whether this container manages specified item or not, compared by the item address (Scalar::Util::refaddr).

Parameters:

item

The item to search for being in this container or not

Returns:

Boolean value - either it's in there or not.

clear

Clears this container, resets iterator. For each item, explicitely remove is called for clearing.

is_empty

Returns true when the container is empty - false otherwise.

n_elements

Returns the number of elements contained.

for_each

Calls given sub for each item once, with the item as only argument. It's not recommended to use this method - it's here for compatibility reasons only. A better way to do sth. for each item is to use the iterator operators.

BUGS

Please report any bugs or feature requests to bug-net-radio-ofono at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-Radio-oFono. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

If you think you've found a bug then please read "How to Report Bugs Effectively" by Simon Tatham: http://www.chiark.greenend.org.uk/~sgtatham/bugs.html.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Net::Radio::oFono

You can also look for information at:

Where can I go for help with a concrete version?

Bugs and feature requests are accepted against the latest version only. To get patches for earlier versions, you need to get an agreement with a developer of your choice - who may or not report the issue and a suggested fix upstream (depends on the license you have chosen).

Business support and maintenance

For business support you can contact Jens via his CPAN email address rehsackATcpan.org. Please keep in mind that business support is neither available for free nor are you eligible to receive any support based on the license distributed with this package.

ACKNOWLEDGEMENTS

AUTHOR

Jens Rehsack, <rehsack at cpan.org>

LICENSE AND COPYRIGHT

Copyright 2012 Jens Rehsack.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.