@database elist_example

@node main "Introduction to elist"

The elist object is some kind of 'object oriented object wrapper' for E's
lists. Is as easy to use as the normal lists but provides some powerful
features, for example it increases the size of the list automatically
when this is necessary.

The list attribute of elist holds the currently active list. Currently
active means that this list may not be valid in the future.

This is because of the dynamic handling of lists implemented in this object.
The list can't be full as normal E lists can. (Actually it can, but only if
there's no memory left). You can add items to the list and the object
expands itself if necessary.



Currently there's only @{" one example " link EMODULES:oomodules/list/elist/test.e/main} that fiddles around with the elist
features.

There is an @{" autodoc " link EMODULES:oomodules/oodoc/guides/elist/main} file available or this object.

@endnode

@node initilisation "Allocation and initilisation of elist"

Only one argument can be passed to new - "set". The following tag is a list.
The list attribute is set to this list. If you get a normal E list and you
want to use the advantages of the elist object simply pass the list to NEW.

@endnode

@node where "Where to use this object"

The elist can be used when you have an unknown number of item you want to
collect in a list. When allocating one of E's lists the size is fixed. The
kill() method may come in handy, too.

@endnode

@node see_also "See also"

Associated objects are the objects of the list hierarchy - queuestack
(big but useful), execlist (doubly linked system list) and the others.

@endnode
