os_dynamic_extent is useful for joining together multiple collections of the same object type into a new collection. The new collection is created dynamically, which results in no additional storage consumption.
By default, os_dynamic_extent does not search subclasses when the requested object type is a class type. To enable this behavior, set the argument include_subclasses to true. When this behavior is enabled, os_dynamic_extent searches all classes that the requested class type is derived from.
You iterate over the os_dynamic_extent collection by creating an associated instance of os_cursor. Only the os_cursor::more, os_cursor::first, and os_cursor::next functions are supported by os_dynamic_extent. You can create an index for the os_dynamic_extent collection by calling add_index; however, creating an index requires additional storage.
os_dynamic_extent( os_database * db, os_typespec * typespec, os_boolean include_subclasses=0 );Constructs an os_dynamic_extent that associates all objects of os_typespec that exist in the specified os_database. This constructor should be used only for transient instances of os_dynamic_extent.
By default, os_dynamic_extent does not search subclasses when the requested object type is a class type. Set the argument include_subclasses to true to enable os_dynamic_extent to search all classes that the requested class type is derived from.
os_dynamic_extent( os_typespec * typespec, os_boolean options = os_dynamic_extent::all_segments os_boolean include_subclasses=0 );Constructs an os_dynamic_extent that associates all objects of os_typespec. This constructor assumes that the os_dynamic_extent is persistent and searches the database where the os_dynamic_extent resides. If the option is os_dynamic_extent::all_segments, all segments are searched. The alternative option is os_dynamic_extent::of_segment, which searches only the segment in which the os_dynamic_extent is allocated.
By default, os_dynamic_extent does not search subclasses when the requested object type is a class type. Set the argument include_subclasses to true to enable os_dynamic_extent to search all classes that the requested class type is derived from.
os_dynamic_extent( os_database * db, os_typespec* typespec, os_segment* seg os_boolean include_subclasses=0 );Constructs an os_dynamic_extent that associates only those objects of os_typespec that exist in the specified os_database and os_segment. This constructor should be used only for transient instances of os_dynamic_extent.
By default, os_dynamic_extent does not search subclasses when the requested object type is a class type. Set the argument include_subclasses to true to enable os_dynamic_extent to search all classes that the requested class type is derived from.
void insert(const void*);Adds the specified void* to the index for the current os_dynamic_extent collection. You must first create an index by calling os_dynamic_extent::add_index(). See os_collection::add_index().
os_int32 remove(const void*);Removes the specified void* from the os_dynamic_extent collection index.
If the index is ordered, the first occurrence of the specified void* is removed. Returns a nonzero os_int32 if an element was removed; 0 is returned otherwise.
~os_dynamic_extent();Performs internal maintenance associated with os_dynamic_extent deallocation.
Updated: 03/31/98 17:25:09