This class provides an STL‐style iterator over a sequence of AttributeContainer object addresses. The behavior of the operator* method is undefined unless the iterator is at a valid position in the sequence of AttributeContainer object addresses (i.e., not the "end") and the referenced element has not been removed since the iterator was constructed.

Synopsis

Declared in <ball_attributecontainerlist.h>

class AttributeContainerListIterator;

Member Functions

Name

Description

AttributeContainerListIterator [constructor]

Constructors

operator=

Assign this iterator the value of the specified rhs and return a modifiable reference to this iterator.

operator*

Return the address of the non‐modifiable attribute container at which this iterator is positioned. The behavior is undefined unless this iterator is at a valid position in the list.

operator++

Increment operators

valid

Return true if this iterator is at a valid position in the sequence of AttributeContainer addresses and false otherwise.

Friends

Name

Description

BloombergLP::ball::AttributeContainerList

This class provides an in‐core value‐semantic list of AttributeContainer object addresses. Attribute container addresses are added to this list using pushFront(), which returns an iterator located at the new element. A AttributeContainerList::iterator object remains valid until the element referred to by the iterator is removed. Attribute container addresses can be removed using either remove(), removeAll(), or removeAllAndRelease(). This list object attempts to minimize the number of memory allocations it requires by placing the memory for elements that have been released in a free memory store, and re‐using the memory when new elements are added. The removeAll() removes all the elements from the list, but does not release any allocated memory (placing it in the free store). The removeAllAndRelease() operation removes all elements and releases all allocated memory. Note that maintaining a free store is important for this component because the expectation is that elements will be both added and removed frequently.

BloombergLP::ball::operator==

Return true if the specified lhs and the specified rhs iterators have the same value and false otherwise. Two iterators have the same value if they refer to the same position in the same list, or if both iterators are at an invalid position in the list (i.e., the "end" of the list, or the default constructed value).

Non-Member Functions

Name

Description

operator!=

Return true if the specified lhs and the specified rhs iterators do not have the same value and false otherwise. Two iterators do not have the same value if they differ in either the list to which they refer or the position in the list object.

Created with MrDocs