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.

Synopsis

Declared in <ball_attributecontainerlist.h>

class AttributeContainerList;

Type Aliases

NameDescription
allocator_type allocator_type is an alias for the type of allocator used by this class.
iterator An iterator over this list.

Member Functions

NameDescription
AttributeContainerList [constructor]Constructors
~AttributeContainerList [destructor]Destroy this object.
operator= Assign this container list the value of the specified rhs one, and return a reference to this list.
begin Return an iterator positioned at the beginning of the list of AttributeContainer object addresses represented by this object.
end Return an iterator positioned one past the final AttributeContainer object address in the list of addresses represented by this object.
get_allocator Return the allocator used by this object to supply memory.
hasValue Return true if the attribute having specified value exists in any of the attribute containers referred to by this object, and false otherwise.
numContainers Return the number of attribute container addresses currently in this list.
print Format this object to the specified output stream.
pushFront Prepend the address of the specified container to this list of attribute container addresses, and return an iterator located at the newly added list element.
remove Remove the specified element from this list.
removeAll Remove all the elements from this list.
removeAllAndRelease Remove all the elements from this list and deallocate any allocated memory.
operator BloombergLP::bslmf::NestedTraitDeclaration<AttributeContainerList, UsesBslmaAllocator> Declare that this type uses a bslma allocator.

Non-Member Functions

NameDescription
operator!=Return true if the specified lhs and rhs lists do not have the same value, and false otherwise.
operator==Return true if the specified lhs and rhs lists have the same value, and false otherwise.