A sample resize trigger policy.
This class serves to show the interface a trigger policy needs to support.
Defined in: sample_resize_trigger.hpp
Type | Definition | Description |
size_type |
size_t, e.g. |
Size type. |
Method | Description |
sample_resize_trigger () |
Default constructor. Must be default constructable. |
sample_range_hashing (const sample_resize_trigger &other) |
Copy constructor. Must be copy constructable. |
inline void swap (sample_resize_trigger &other) |
Swaps content. Must be swappable (if there is such a word). |
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. |
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. |
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. |
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_entries) |
Notifies an element was inserted. the total number of entries in the table is num_entries. |
inline void notify_erased (size_type num_entries) |
Notifies an element was erased. |
void notify_cleared () |
Notifies the table was cleared. |
Notifications called when the table changes size.
Method | Description |
void notify_resized (size_type new_size) |
Notifies the table was resized as a result of this object's signifying that a resize is needed. |
void notify_externally_resized (size_type new_size) |
Notifies the table was resized externally. |
Called to query whether/how to resize.
Method | Description |
inline bool is_resize_needed () const |
Queries whether a resize is needed. |
inline bool is_grow_needed (size_type size, size_type num_entries) const |
Queries whether a grow is needed. This method is called only if this object indicated resize is needed. The actual size of the table is size, and the number of entries in it is num_entries. |
Method | Description |
virtual void do_resize (size_type new_size) |
Resizes to new_size. |