Struct Collection

Array based collection of items.

Retains item order when during add/remove operations.

Optionally destroys removed objects when instanciated with ownItems = true.

Fields

Name Type Description
_items T[]
_len size_t

Properties

Name Type Description
back [get] T peek last item
empty [get] bool returns true if there are no items in collection
front [get] T peek first item
length [get] size_t returns number of items in collection
length [set] size_t returns number of items in collection
peekBack [get] T peek last item
peekFront [get] T peek first item
popBack [get] T remove last item
popFront [get] T remove first item
size [get] size_t returns currently allocated capacity (may be more than length)
size [set] size_t change capacity (e.g. to reserve big space to avoid multiple reallocations)

Methods

Name Description
add insert new item in specified position
addAll add all items from other collection
clear remove all items
indexOf returns index of first occurence of item, size_t.max if not found
opApply support of foreach with reference
opIndex access item by index
opOpAssign support for appending (~=, +=) and removing by value (-=)
pushBack insert item at end of collection
pushFront insert item at beginning of collection
remove remove single item, returning removed item
removeValue remove single item by value - if present in collection, returning true if item was found and removed

Authors

Vadim Lopatin, coolreader.org@gmail.com

Copyright

Vadim Lopatin, 2014

License

Boost License 1.0