X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=libstdc%2B%2B-v3%2Fdoc%2Fhtml%2Fext%2Fpb_ds%2Fhash_load_check_resize_trigger.html;fp=libstdc%2B%2B-v3%2Fdoc%2Fhtml%2Fext%2Fpb_ds%2Fhash_load_check_resize_trigger.html;h=b22b7b5cfddee589513cc93ccdad38cac0d9574d;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=0000000000000000000000000000000000000000;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_load_check_resize_trigger.html b/libstdc++-v3/doc/html/ext/pb_ds/hash_load_check_resize_trigger.html new file mode 100644 index 00000000..b22b7b5c --- /dev/null +++ b/libstdc++-v3/doc/html/ext/pb_ds/hash_load_check_resize_trigger.html @@ -0,0 +1,583 @@ + + + + + + + hash_load_check_resize_trigger Interface + + + + +
+

hash_load_check_resize_trigger Interface

+ +

A resize trigger policy based on a load check. It keeps the + load factor between some load factors load_min and + load_max.

+ +

Defined in: hash_policy.hpp

+ +

Template Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescriptionDefault Value
+
+bool External_Load_Access 
+
+
+

Specifies whether the load factor can be accessed + externally. The two options have different trade-offs in + terms of flexibility, genericity, and encapsulation.

+
false
+
+typename Size_Type 
+
+
+

Size type.

+
size_t
+ +

Public Types and + Constants

+ +

General Definitions

+ + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDefinitionDescription
+
+size_type
+
+
+
+Size_Type
+
+
+

Size type.

+
+
+external_load_access
+
+
+
+External_Load_Access
+
+
+

Indicates whether loads can be accessed externally

+
+ +

Public Methods

+ +

Constructors, Destructor, and + Related

+ + + + + + + + + + + + + + + + + + + + + + + + + +
MethodDescription
+
+  hash_load_check_resize_trigger
+  (float load_min = 0.125, 
+    float load_max = 0.5)
+
+
+

Default constructor, or constructor taking + load_min and + load_max load factors + between which this policy will keep the actual load.

+ +

It is the responsibility of the user to ensure that + load_min is smaller than + load_max.

+
+
+void
+  swap
+  (hash_load_check_resize_trigger &other)
+
+
+

Swaps content.

+
+
+  virtual
+    ~hash_load_check_resize_trigger
+    ()
+
+
+

Destructor.

+
+ +

Load Access Methods

+ +

These methods are only available if the external access + parameter is set.

+ + + + + + + + + + + + + + + + + + + +
MethodDescription
+
+inline std::pair<float, float>
+  get_loads
+  () const
+
+
+

Returns a pair of the minimal and maximal loads, + respectively.

+ +

Calling this method will not compile when External_Load_Access + == false.

+
+
+void 
+  set_loads
+  (std::pair<float, float> load_pair)
+
+
+

Sets the loads through a pair of the minimal and + maximal loads, respectively.

+ +

Calling this method resizes the container, and might + throw an exception. It is the responsibility of the user + to pass appropriate loads to this function. Calling this + method will not compile when External_Load_Access + == false.

+
+ +

Protected Methods

+ +

Insert Search + Notifications.

+ +

Notifications called during an insert operation.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
MethodDescription
+
+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.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
MethodDescription
+
+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.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
MethodDescription
+
+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.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
MethodDescription
+
+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.

+ + + + + + + + + + + + + + + + + + + +
MethodDescription
+
+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.

+ + + + + + + + + + + + + + + + + + + +
MethodDescription
+
+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

+ + + + + + + + + + + + + +
MethodDescription
+
+virtual void
+  do_resize
+  (size_type new_size)
+
+
+

Resizes to new_size.

+
+
+ +