sample_resize_trigger Interface

A sample resize trigger policy.

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

Defined in: sample_resize_trigger.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_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).

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_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.

Size change notifications.

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.

Queries.

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.

Private Methods

Overrides.

Method Description
virtual void
  do_resize
  (size_type new_size)

Resizes to new_size.