Thread‐safe indexed catalog of TYPE objects.

Synopsis

Declared in <bdlcc_objectcatalog.h>

template<class TYPE>
class ObjectCatalog;

Description

This class defines an efficient indexed object catalog of TYPE objects. This container is exception neutral with no guarantee of rollback: if an exception is thrown during the invocation of a method on a pre‐existing instance, the object is left in a valid but undefined state. In no event is memory leaked or a mutex left in a locked state.

Member Functions

Name

Description

ObjectCatalog [constructor]

Create an empty object catalog, using the optionally specified allocator to supply any memory.

~ObjectCatalog [destructor]

Destroy this object catalog.

add

add overloads

allocator

Return the allocator used by this object.

find

find overloads

isMember

Return true if the catalog contains an item that compares equal to the specified object and false otherwise.

length

Return a "snapshot" of the number of items currently contained in this catalog.

remove

Remove the object with the specified handle from this catalog.

removeAll

removeAll overloads

replace

replace overloads

value

Return a const reference to the object having the specified handle. The behavior is undefined unless handle is contained in this catalog.

verifyState

Verify that this catalog is in a consistent state. This function is introduced for testing purposes only.

operator BloombergLP::bslmf::NestedTraitDeclaration<ObjectCatalog, UsesBslmaAllocator>

Declare that this type uses a bslma allocator.

Friends

Name

Description

BloombergLP::bdlcc::ObjectCatalogIter

Thread‐safe iterator over an ObjectCatalog of TYPE objects.

BloombergLP::bdlcc::ObjectCatalog_AutoCleanup

Proctor that cleans up a managed ObjectCatalog node on destruction.

Created with MrDocs