sample_resize_policy Interface (original) (raw)

A sample resize policy.

This class serves to show the interface a resize policy needs to support.

Defined in: sample_resize_policy.hpp

Public Types and Constants

General definitions.

Type Definition Description
size_type size_t, e.g. Size type.

Public Methods

Method Description
sample_resize_policy () Default constructor. Must be default constructable.
sample_range_hashing (const sample_resize_policy &other) Copy constructor. Must be copy constructable.
inline void swap (sample_resize_policy &other) Swaps content. Must be swappable (if there is such a word).

Protected Methods

Insert search notifications.

Notifications called during an insert operation.

Method Description
inline void notify_insert_search_start () Notifies a search started.
inline void notify_insert_search_collision () Notifies a search encountered a collision.
inline void notify_insert_search_end () Notifies a search ended.

Find search notifications.

Notifications called during a find operation.

Method Description
inline void notify_find_search_start () Notifies a search started.
inline void notify_find_search_collision () Notifies a search encountered a collision.
inline void notify_find_search_end () Notifies a search ended.

Erase search notifications.

Notifications called during an insert operation.

Method Description
inline void notify_erase_search_start () Notifies a search started.
inline void notify_erase_search_collision () Notifies a search encountered a collision.
inline void notify_erase_search_end () Notifies a search ended.

Content change notifications.

Notifications called when the content of the table changes in a way that can affect the resize policy.

Method Description
inline void notify_inserted (size_type num_e) Notifies an element was inserted.
inline void notify_erased (size_type num_e) Notifies an element was erased.
void notify_cleared () Notifies the table was cleared.

Size change notifications.

Notifications called when the table changes size.

Method Description
void notify_resized (size_type new_size) Notifies the table was resized to new_size.

Queries.

Called to query whether/how to resize.

Method Description
inline bool is_resize_needed () const Queries whether a resize is needed.
size_type get_new_size (size_type size, size_type num_used_e) const Queries what the new size should be.