[#BloombergLP-ball-AttributeContainerListIterator] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::AttributeContainerListIterator :relfileprefix: ../../ :mrdocs: This class provides an STL‐style iterator over a sequence of `AttributeContainer` object addresses. == Synopsis Declared in `<ball_attributecontainerlist.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class AttributeContainerListIterator; ---- == Description 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. == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/ball/AttributeContainerListIterator/2constructor-07.adoc[`AttributeContainerListIterator`] [.small]#[constructor]# | Constructors | xref:BloombergLP/ball/AttributeContainerListIterator/operator_assign.adoc[`operator=`] | Assign this iterator the value of the specified `rhs` and return a modifiable reference to this iterator. | xref:BloombergLP/ball/AttributeContainerListIterator/operator_star.adoc[`operator*`] | Return the address of the non‐modifiable attribute container at which this iterator is positioned. | xref:BloombergLP/ball/AttributeContainerListIterator/operator_inc-05.adoc[`operator++`] | Increment operators | xref:BloombergLP/ball/AttributeContainerListIterator/valid.adoc[`valid`] | Return `true` if this iterator is at a valid position in the sequence of `AttributeContainer` addresses and `false` otherwise. |=== == Friends [cols="1,4"] |=== | Name| Description | `xref:BloombergLP/ball/AttributeContainerList.adoc[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. | `xref:BloombergLP/ball/operator_eq-019.adoc[BloombergLP::ball::operator==]` | Return `true` if the specified `lhs` and the specified `rhs` iterators have the same value and `false` otherwise. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/ball/operator_not_eq-0a7f.adoc[`operator!=`] | Return `true` if the specified `lhs` and the specified `rhs` iterators do not have the same value and `false` otherwise. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#