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
Constructors, destructor, and related.
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. |